mysql数据库 单机_[数据库]自建单机MySQL数据库备份方案

[数据库]自建单机MySQL数据库备份方案

0

2020-07-01 18:00:18

使用全量备份SQL+BinLog进行数据恢复

一、环境

环境:Centos 6.5 ,MySQL 5.7.22, yum install 命令安装

二、备份

指定备份路径,指定 --master-data=2 参数备份时输出 MASTER_LOG_POS 位置信息

备份脚本:1 #!/bin/bash 2 3 backup_path=/home/app/bak_mysql 4 password="password" 5 6 err() { 7 echo "[$(date +'%Y-%m-%d %H:%M:%S')]: $@" >&2 >>${backup_path}/fail_$(date +%Y%m%d).log 8 } 9 #错误后打印错误信息生成日志10 11 mysqldump -uroot -p${password} --opt -R --events --triggers=true\12 --master-data=2 --single-transaction databaseName --ignore-table=databaseName.t_attachment\13 | gzip > ${backup_path}/backup_$(date +%Y%m%d).sql.gz14 #备份同时压缩15 16 if [ $? -ne 0 ];then17 err $?18 exit19 fi

三、定时任务:查看定时任务crontab 命令选项基本只对用户操作的选项:-u 指定一个用户-l 列出某个用户的任务计划-r 删除某个用户的任务-e 编辑某个用户的任务示例:  查看指定用户的定时任务[root@daf ~]# crontab -u username -lno crontab for vfit  要查看所有用户的,只能根据 /etc/passwd 文件中的用户名一一列举了,可以用脚本。for u in `cat /etc/passwd | cut -d":" -f1`;do crontab -l -u $u;done

给指定用户创建定时任务1 [root@*** ~]# crontab -u username -e2 no crontab for username - using an empty one3 crontab: installing new crontab4 [root@*** ~]# crontab -u username -l5 0 2 */2 * * /home/username/backup_mysql/backup_mysql.sh若指定用户无权限操作指定脚本则需进行授权: chmod u+x backup_mysql.sh 定时任务日志文件目录:/var/log/cron

三、恢复方案

1、准备好最新的备份文件进行全量恢复

2、找出增量文件

3、恢复数据1 [vfit@iZ946xtgmogZ bak_mysql]$ grep MASTER_LOG_POS bak.sql2 -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000004', MASTER_LOG_POS=1633307;3 4 [vfit@iZ946xtgmogZ bak_mysql]$ mysqlbinlog --no-defaults --database=bak --start-position=1633307 /var/lib/mysql/mysql-bin.000004 > ~/addbak.sql5 //删除问题语句 执行恢复代码6 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/bak.sql7 [vfit@iZ946xtgmogZ bak_mysql]$ mysql -uroot -pgo2020@Vfangtuan bak < ~/addbak.sql

错误语句示例:

bc91bb04e6e9c61e24c974e4440db8f2.gif

本文网址:http://www.shaoqun.com/a/462533.html

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:admin@shaoqun.com。

MYSQL

0

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值