Mysql备份(全量+增量+恢复)方案操作记录

柔情只为你懂 2022-03-27 07:54 400阅读 0赞

1、开启mysql的binlog日志&查看$备份

2、shell脚本

mysqldump 变量说明

--all-databases针对所有数据库进行备份

—databases databasename 针对单个数据库进行备份
--flush-logs为结束当前日志,生成新日志文件;
--master-data=2 选项将会在输出SQL中记录下完全备份后新日志文件的名称,

用于日后恢复时参考,例如输出的备份SQL文件中含有:
CHANGE MASTER TO MASTER_LOG_FILE=’MySQL-bin.000002′, MASTER_LOG_POS=106;

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

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

  1. #!/bin/bash
  2. user=root
  3. passwd=root!
  4. backup_dir=/var/lib/mysql/backup/
  5. name_dir=$(date +%F"-%H")
  6. single_database=test
  7. binlog_dir=/var/lib/mysql/binlog
  8. if [ ! -d $backup_dir ]; then
  9. mkdir -p $backup_dir
  10. fi
  11. if [ ! -d $backup_dir$name_dir ]; then
  12. mkdir -p $backup_dir$name_dir
  13. fi
  14. #全量备份
  15. mysql_all(){
  16. cd $backup_dir$name_dir
  17. mysqldump -u$user -p$passwd --master-data --flush-logs --all-databases > $backup_dir$name_dir/$name_dir.sql
  18. }
  19. #单个数据库备份
  20. mysql_single(){
  21. cd $backup_dir$name_dir
  22. mysqldump -u$user -p$passwd --master-data --flush-logs --databases $single_database > $backup_dir$name_dir/$name_dir-$single_database.sql
  23. }
  24. #增量备份
  25. mysql_increment(){
  26. cd $binlog_dir
  27. mysqladmin -u$user -p$passwd flush-logs
  28. cp $(ls mysql-bin.[0-9]* | head -n -1 | sort -rg | head -n 1) $backup_dir$name_dir/
  29. }
  30. $1

3、自动执行备份

该脚本已经测试过,可以使用。只需要设置计划任务即可。
设置计划任务:

在周五实行全备。

在周一到周六实行增量备份。

因为过期日志在七天会自动清除。

  1. crontab -e
  2. 0 1 * * 0 /bin/bash /root/mysqldump.sh mysql_all >/dev/operate_`date +"\%Y\%m\%d"`.log 2>&1
  3. 0 1 * * 1-6 /bin/bash /root/mysqldump.sh mysql_increment >/dev/operate_`date +"\%Y\%m\%d"`.log 2>&1

4、生成文件

" class="reference-link">20190112174246667.png

20190112174304186.png

5、恢复文件

(1)use对应的数据库;
(2)利用source命令即可恢复数据。

20190112174535735.png

发表评论

表情:
评论列表 (有 0 条评论,400人围观)

还没有评论,来说两句吧...

相关阅读