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

时间: 2024-08-09 17:36:29

mysql全备份 + 增量备份的相关文章

MySQL 备份和恢复(三)Xtrabackup实现热备:完全备份+增量备份

Percona XtraBackup is the world's only open-source, free MySQL hot backup software that performs non-blocking backups for InnoDB and XtraDB databases. With Percona XtraBackup, you can achieve the following benefits: Backups that complete quickly and

MySQL数据库备份:完全备份+增量备份

MySQL数据库备份:完全备份+增量备份 ************************************************************************************** 计划任务: crontab -e  -u root 00 6  * * 1  /shell/mysqlbak.sh &> /dev/null 00 23  * * 2-7  /shell/mysqladd.sh &> /dev/null **************

mysql 利用binlog增量备份,还原实例

mysql 利用binlog增量备份,还原实例 张映 发表于 2010-09-29 分类目录: mysql 一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/mysql/mysql-bin.log,如果是这样的话log-bin

MySQL 利用binlog增量备份+还原实例

一,什么是增量备份 增量备份,就是将新增加的数据进行备份.假如你一个数据库,有10G的数据,每天会增加10M的数据,数据库每天都要备份一次,这么多数据是不是都要备份呢?还是只要备份增加的数据呢,很显然,我只要备份增加的数据.这样减少服务器的负担. 二,启用binlog vi my.cnf log-bin=/var/lib/mysql/mysql-bin.log,如果是这样的话log-bin=mysql-bin.log默认在datadir目录下面 [[email protected] mysql]

完全备份+增量备份完成即时点还原

完全备份+增量备份完成及时点还原 首先是一些感念 备份类型: 热备份,温备份,冷备份 热备份;读写不受影响: 温备份:仅可以执行读操作: 冷备份:离线备份,读,写操作均终止: 物理备份和逻辑备份 物理备份:复制数据文件 逻辑备份:将数据导出至文本文件中. 完全备份,增量备份和差异备份: 完全备份:备份全部数据 增量备份:仅备份上次完全备份或者增量备份以后变化的数据: 差异备份:仅备份上次完全备份以来变化的数据: 备份策略:每周完全+每日增量 完全备份;mysqldump 增量备份;备份二进制日志

mysql全库备份/增量备份脚本

http://hongge.blog.51cto.com/ 生产环境中Mysql数据库的备份是周期性重复的操作,所以通常是要编写脚本实现,通过crond计划任务周期性执行备份脚本 mysqldump备份方案: 周日凌晨1点全库备份 周一到周六凌晨每隔4个小时增量备份一次 设置crontab任务,每天执行备份脚本 # crontab –e #每个星期日凌晨1:00执行完全备份脚本 0 1 * * 0 /root/mysqlfullbackup.sh >/dev/null 2>&1 #周一

【mysql使用xtrabackup做全量增量备份】mysql_backup.sh

#!/bin/bash # # 2014/12/16 # v5.1 # increment backup, with timestamp, compressed, with master & slave. ###################### s_port="$1" s_action="$2" s_slave="$3" #####  配置参数  ###### ## f_my_cnf="/data/svr/mysql/my

mysql全备份+增量备份笔记总结

备份基础知识 冷备(cold backup):需要关mysql服务,读写请求均不允许状态下进行: 温备(warm backup): 服务在线,但仅支持读请求,不允许写请求: 热备(hot backup):备份的同时,业务不受影响. 这种类型的备份,取决于业务的需求,而不是备份工具 MyISAM不支持热备,InnoDB支持热备,但是需要专门的工具 完全备份:full backup,备份全部字符集. 增量备份: incremental backup 上次完全备份或增量备份以来改变了的数据,不能单独使

Xtrabackup全量备份/增量备份脚本

一.全量备份脚本 1.全量备份脚本 #!/bin/bash #Description:xtrabackup complete #Author:created by michael #2017-08-07 v0.1 # USER=root PASSWD=123456 BACKUP_DIR=/backup/mysql/complete DATE=$(date +"%F_%T") [[ -d $BACKUP_DIR ]] || mkdir $DATE_DIR innobackupex --u