实战-MySQL定时全量备份(1)

栏目: 数据库 · Mysql · 发布时间: 5年前

内容简介:在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了。所以要对我们的线上数据库定时做全量备份与增量备份。例如:每天做一次增量备份,每周做一次全量备份。以下所涉及的操作系统为 centos7 。GitHub 地址:如上一段代码所示,其功能是将 test 数据库全量备份。其中 MySQL 用户名为:root 密码为:123456备份的文件路径为:/home (当然这个路径也是可以按照个人意愿修改的。)备份的文件名为:backup.sql
  • 引言

  • 全量备份

  • 恢复全量备份

  • 定时备份

引言

在产品上线之后,我们的数据是相当重要的,容不得半点闪失,应该做好万全的准备,搞不好哪一天被黑客入侵或者恶意删除,那就 gg 了。所以要对我们的线上数据库定时做全量备份与增量备份。例如:每天做一次增量备份,每周做一次全量备份。以下所涉及的操作系统为 centos7 。

GitHub 地址:

https://github.com/zonezoen/MySQL_backup
复制代码

全量备份

/usr/bin/mysqldump -uroot -p123456  --lock-all-tables --flush-logs test > /home/backup.sql
复制代码

如上一段代码所示,其功能是将 test 数据库全量备份。其中 MySQL 用户名为:root 密码为:123456备份的文件路径为:/home (当然这个路径也是可以按照个人意愿修改的。)备份的文件名为:backup.sql 参数 —flush-logs:使用一个新的日志文件来记录接下来的日志参数 —lock-all-tables:锁定所有数据库

以下为我使用的数据库备份脚本文件:

脚本文件功能不是很复杂,首先是各种变量赋值。然后备份数据库,接着是进入到备份文件所在的目录,再将备份文件压缩。 其中倒数第三行是使用 nodejs 将备份的数据库文件上传到七牛云中,这里就不在过多的阐述了,与本文主题不符,想看具体实现可以查看 GitHub 源码。其中相应的变量改成自己的值即可拿过来使用。

#!/bin/bash#在使用之前,请提前创建以下各个目录#获取当前时间date_now=$(date "+%Y%m%d-%H%M%S")backUpFolder=/home/db/backup/mysqlusername="root"password="123456"db_name="zone"#定义备份文件名fileName="${db_name}_${date_now}.sql"#定义备份文件目录backUpFileName="${backUpFolder}/${fileName}"echo "starting backup mysql ${db_name} at ${date_now}."/usr/bin/mysqldump -u${username} -p${password}  --lock-all-tables --flush-logs ${db_name} > ${backUpFileName}#进入到备份文件目录cd ${backUpFolder}#压缩备份文件tar zcvf ${fileName}.tar.gz ${fileName}# use nodejs to upload backup file other place#NODE_ENV=$backUpFolder@$backUpFileName node /home/tasks/upload.jsdate_end=$(date "+%Y%m%d-%H%M%S")echo "finish backup mysql database ${db_name} at ${date_end}."
复制代码

恢复全量备份

mysql -h localhost -uroot -p123456 < bakdup.sql
复制代码

或者

mysql> source /path/backup/bakdup.sql
复制代码

嗯,回复全量备份也就这样两句,似乎不用多说什么了。对了,在恢复全量备份之后,要将全量备份之后的增量备份也恢复回数据库中。


以上所述就是小编给大家介绍的《实战-MySQL定时全量备份(1)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Responsive Web Design

Responsive Web Design

Ethan Marcotte / Happy Cog / 2011-6 / USD 18.00

From mobile browsers to netbooks and tablets, users are visiting your sites from an increasing array of devices and browsers. Are your designs ready? Learn how to think beyond the desktop and craft be......一起来看看 《Responsive Web Design》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试