在运维中需按期备份mysql,为崩溃后的恢复数据作准备。通常分为冷备和热备,冷备就是停掉mysql服务,直接cp文件,可是在生产环境中,不多有机会这样,通常都是在mysql提供服务的时候就进行备份,所以这牵扯到数据一致性的问题。因此,在MyISAM存储引擎下,咱们的思路就是:锁表 –>备份–>解锁html
固然也可经过mysql自带的工具 mysqlhotcopy 解决,事实上mysqlhotcopy是个perl程序,提供MyISAM下的锁表备份解锁操作。由于是perl脚本,因此须要机器上有PERL-DBD 模块,否则会报错: Can’t locate DBI.pm in @INC ,安装过程很简单,在这里: perl-DBI链接mysqlpython
mysqlhotcopy也很简单,参数可用 –help 查看mysql
# 备份test库为新的test_tmp库,与test同级目录 mysqlhotcopy --user=root --password=root test test_tmp # 备份test库 到 /tmp/ 目录下 mysqlhotcopy --user=root --password=root test /tmp/ # --checkpoint dbinfo.checkpoint 这个是指定存放操做记录的数据库/表 # --addtodest 增量备份,新的备份自动覆盖掉原来的 mysqlhotcopy --user=root --password=root --checkpoint=dbinfo.checkpoint --addtodest test /tmp/