• 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
  • 相关阅读:
    The resource identified by this request is only capable of generating responses with characteristics
    javaweb写的在线聊天应用
    JavaScript写一个拼图游戏
    jQ插件--时间线插件和拖拽API
    Javascript写俄罗斯方块游戏
    详解jQ的support模块
    磁盘IO的性能指标 阻塞与非阻塞、同步与异步 I/O模型
    Airflow Python工作流引擎的重要概念介绍
    DEVOPS 运维开发系列
    MYSQL 两表 排除 重复记录
  • 原文地址:https://www.cnblogs.com/liushi-Oscar/p/9577511.html
Copyright © 2020-2023  润新知