mysql全备份 + 增量备份

mysql全备份 + 增量备份

  • 配置文件:
    • 管理mysql配置文件,打开binlog日志
      • 对于mysql数据库:
        • log_bin = /var/log/mysql/mysql_bin.log
        • server-id = 1(必须有,否则重启fail)
      • 对于mariadb数据库:
        • log_bin = /var/log/mysql/mysql-bin.log
    • 修改配置文件后需要重启mysql服务:
      • service mysql restart | /etc/init.d/mysql restart
    • 可登陆数据库查看是否启用binlog:

      • show variables like "log_%";
    • 查看当前正在写入的binlog日志:

      • show master status;
      • 此处可能需要给当前用户授予REPLICATION CLIENT权限:grant REPLICATION CLIENT ON *.* TO user;
  • 全备份: 使用mysqldump
    • mysqldump -F -uxxx -p --databases anheisg > /home/dw/backup/anheisg.sql
    • -F表示刷新binlog日志,用于增量备份
  • 增量备份:
    • 增量备份数据从binlog日志中得到
  • 数据恢复:
    • show master status;查看当前正在写入的binlog日志,如mysql-bin.000005
    • 全备份恢复
      • mysql -udw -pxxx anheisg < /home/dw/backup/anheisg.sql
    • flush logs;将数据库的修改写入新的binlog日志,这样便于查看和处理mysql-bin.000005
    • 增量备份恢复
      • 方法一:
        • show binlog events in 'mysql-bin.000005';查看错误操作的pos和end_pos
        • mysqlbinlog --no-defaults /var/log/mysql/mysql_bin.000005 --stop-position=878 | mysql -uroot -p anheisg
        • 使用mysqlbinlog命令恢复增量备份,--start-position=xxx和--stop-position=xxx可指定恢复的区间
      • 方法二:
        • mysqlbinlog --no-defaults /var/log/mysql/mysql_bin.000005 -d anheisg > anheihei.sql
        • 在导出的sql文件中删除误操作命令,然后恢复即可
        • mysql -udw -pxxx anheisg < anheihei.sql

转载于:https://www.cnblogs.com/liushi-Oscar/p/9577511.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值