#使用mysqlhotcopy备份库
Mysqlhotcopy –uroot –p=password databasename /bakup/备份目录
#使用mysqlhotcopy备份某一个表
Mysqlhotcopy –u root –p=password databasename./tablename/ /backup/备份目录
#使用mysqlhotcopy备份库并增加备份记录
Mysqlhotcopy –u root –p=password –checkpoint=hotcopy.checkpoint databasename /bakup/备份记录
参数说明:将每次执行备份的记录保存在hotcopy库-checkpoint表中,需要事先创建好库和表
如:create databases hotcopy;
Use hotcopy;
Create table checkpoint (time_stamp timestamp not null,src varchar(32),dest varchar(32),msg varcher(255));
#恢复hotcopy备份的库
直接将数据库目录拷贝至数据库的数据目录即可,注意目录的权限。
#mysqldump和mysqlhotcopy的区别和个人理解
Mysqlhotcopy只适用于MYISAM引擎的表;
使用mysqlhotcopy必须要安装perl-DBI、perl-DBD-mysql模块
二者执行时都会自动锁表
恢复时mysqlhotcopy的备份文件需要拷至目标目录覆盖,mysqldump需要把备份文件导入到原库
#基于二进制日志的恢复
Mysqlbinlog mysql-bin.XXXXX | mysql –u root –ppassword // 恢复整个mysql-bin.XXXX二进志文件
Mysqlbinlog –start-datatime=”2014-02-28 10:00:00” –stop-datatime=”2014-02-28 12:00:00” mysql-bin.XXXX | mysql –u root –ppassword //恢复mysql-bin.XXXX中从10点到12点的部分操作
Mysqlbinlog –start-position=’3000’ –stop-position=’5000’ mysql-bin.XXXX | mysql –u root –ppassword //恢复mysql-bin.XXXX 中位置从3000-5000的部分。可以使用mysqlbinlog工具将二进制日志导出后,找到位置。 如:mysqlbinlog /var/mysql-bin.XXXX >/tmp/binlogXXXX.txt