mysql 定时还原数据库_MySQL之定时备份及还原

最近update 自动化测试数据库的某个表的数据(一些修改其他数据库的SQL)时,发现where条件还漏了一些(400+条SQL就这样被误操作了)。。。而且之前没有对自动化测试的数据库进行备份。。。。

简单记录下这次的备份操作。。

要备份的数据库部署在Linux上:

1.切换到安装MySQL(不记得的话,可以用whereis mysql查找)的bin目录:

2.使用bin目录下的mysqldump工具进行数据库备份:

1)备份表和数据:

./mysqldump -h数据库所在ip -uroot -p密码 -P3306 库名 >/root/Desktop/MySQLbackup/backdata.sql

2)备份存储过程和函数:

./mysqldump -h数据库所在ip -uroot -p密码 -P3306 -R -ndt --triggers=false 库名>/root/Desktop/MySQLbackup/backprocedure.sql

注:

1)还原存储过程时,会报错

29e3c9e9086fc60cee54c3d53f732acb.png

故备份存储过程时,加上--triggers=false

还原备份的数据(以Windows为例):

1.同样切换到安装MySQL的bin目录下:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin

2.还原数据(还原表、数据及存储过程的命令一样,只需修改要备份好的SQL文件)

mysql 库名 --default-character-set=utf8 -u 账号 -p密码

注:

1)因为还原时报错

12f3b3183a6b0f30017cdd6c0e324f88.png

,所以加了--default-character-set=utf8

添加定时任务:

# 备份前把前一天备份的数据移到另一个目录

30 17 * * * mkdir /root/Desktop/MySQLbackup1;mv /root/Desktop/MySQLbackup/*.sql /root/Desktop/MySQLbackup1

# 备份数据

20 18 * * * /usr/java/mysql/bin/mysqldump -h要备份数据ip -uroot -p数据库密码. 要备份的库 > /root/Desktop/MySQLbackup/backdata$(date +"\%Y\%m\%d").sql

# 备份存储过程

20 18 * * * /usr/java/mysql/bin/mysqldump -h要备份数据ip -uroot -p数据库密码. -R -ndt --triggers=false 要备份的库> /root/Desktop/MySQLbackup/backpro$(date +"\%Y\%m\%d").sql

# 检查当天是否备份成功,并删除前一天数据的脚本

30 19 * * * /root/delLastBacSQL.sh

# delLastBacSQL.sh的具体内容:

backdata=/root/Desktop/MySQLbackup/backdata$(date +"%Y%m%d").sql

backpro=/root/Desktop/MySQLbackup/backpro$(date +"%Y%m%d").sql

if [[ -e $backdata && -e $backpro ]]

then `rm -rf /root/Desktop/MySQLbackup1`

echo success

else

echo fail

fi

参考资料:

https://www.2cto.com/database/201211/168571.html

https://www.jianshu.com/p/984e876706b1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值