mysqldump 命令完全备份与增量备份
mysqldump 命令完全备份与增量备份
求学ing 发表于4年前
mysqldump 命令完全备份与增量备份
  • 发表于 4年前
  • 阅读 296
  • 收藏 23
  • 点赞 0
  • 评论 0

【腾讯云】如何购买服务器最划算?>>>   

[ 必备配置 ]

执行增量备份的前提条件是MySQL打开log-bin日志开关,例如在my.ini或my.cnf中加入 log-bin=C:/Program Files/MySQL/MySQL Server 6.0/Data/mysql-bin “log-bin=”后的字符串为日志记载目录,一般建议放在不同于mysql数据目录的磁盘上。

[ 完全备份]

假定星期日下午1点执行完全备份,适用于MyISAM存储引擎。 mysqldump --lock-all-tables --flush-logs --master-data=2 -u root -p test > backup_sunday_1_PM.sql 对于InnoDB 将--lock-all-tables替换为--single-transaction --flush-logs 为结束当前日志,生成新日志文件 --master-data=2 选项将会在输出SQL中记录下完全备份后新日志文件的名称,用于日后恢复时参考,例如输出的备份SQL文件中含有: -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;

其他说明:

     如果mysqldump加上--delete-master-logs 则清除以前的日志,以释放空间。但是如果服务器配置为镜像的复制主服务器,用mysqldump --delete-master-logs删掉MySQL二进制日志很危险,因为从服务器可能还没有完全处理该二进制日志的内容。在这种情况下,使用PURGE MASTER LOGS更为安全。

[ 增量备份 ]

 每日定时使用 mysqladmin flush-logs来创建新日志,并结束前一日志写入过程。并把前一日志备份,例如上例中开始保存数据目录下的日志文件 mysql-bin.000002 , ...

 [ 从备份中恢复 ]

* 恢复完全备份 mysql -u root -p < backup_sunday_1_PM.sql

* 恢复增量备份 mysqlbinlog mysql-bin.000002 ... | mysql -u root -p 注意此次恢复过程亦会写入日志文件,如果数据量很大,建议先关闭日志功能。


共有 人打赏支持
粉丝 11
博文 144
码字总数 72348
×
求学ing
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: