Linux中,如何做mysql数据库定时备份

╰半橙微兮° 2023-06-11 13:28 72阅读 0赞

数据库备份工具: mysqldump

备份基本命令
  1. mysqldump -uroot -proot --single-transaction -R -E --triggers --master-data=2 --flush-logs --all-databases > /data/mysqldata/alldb-fullback-$(date +%F).sql
  2. 解释:
  3. --single-transaction 此选项将事务隔离模式设置为, REPEATABLE READSTART TRANSACTION在转储数据之前将SQL语句发送到服务器。它仅对诸如之类的事务表有用InnoDB,因为这样它在START TRANSACTION发布时转储数据库的一致状态, 而不会阻塞任何应用程序。
  4. -R 包括存储的函数和过程
  5. -E 记录此次事件
  6. --triggers 在输出中包括每个转储表的触发器。默认情况下启用此选项。使用禁用它 --skip-triggers
  7. --master-data=2 使用此选项可转储主复制服务器以生成转储文件,该转储文件可用于将另一台服务器设置为主服务器的从属服务器。它使转储输出包含一条CHANGE MASTER TO 语句,该语句指示转储服务器的二进制日志坐标(文件名和位置)。这些是将转储文件加载到从属服务器后,从属服务器应从其开始复制的主服务器坐标。如果选项值为2,则该CHANGE MASTER TO语句将写为SQL注释,因此仅提供信息;重新加载转储文件时,它无效。如果选项值为1,则该语句不会作为注释写入,并在重新加载转储文件时生效。如果未指定选项值,则默认值为1
  8. --flush-logs 开始转储之前,请刷新MySQL服务器日志文件。此选项需要 RELOAD特权。如果将此选项与该--all-databases选项结合使用
  9. --all-databases 备份所以的数据库数据
如报错:Binlogging on server not active
解决方法:开启binlog日志设置,修改mysql配置文件
  1. log_bin=master-bin

备份结束了,哈哈_。每天都来这么操作一遍吗?那不得累死 巴拉巴拉,找到了定时任务的工具crontab ,

crontab格式介绍,一张图搞定:

在这里插入图片描述

先把备份命令写进脚本dump.sh
  1. mysqldump -uroot -proot --single-transaction -R -E --triggers --master-data=2 --flush-logs --all-databases > /data/mysqldata/alldb-fullback-$(date +%F).sql
创建定时任务:
  1. crontab -e
写定时任务保存:
  1. #每周一,三,五备份数据库数据
  2. 00 00 * * 1,3,5 /data/mysqldata/dump.sh

OK

数据恢复:

  1. 数据库恢复:
  2. #登陆mysql
  3. mysqluroot p
  4. #数据恢复
  5. sourced : xxx.sql

记住:牛逼的技术虽然不是你的,但是你会了,就是你的

发表评论

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

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

相关阅读

    相关 Linux 定时备份mysql数据库

    备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是

    相关 linux系统定时备份MySQL数据库

    一个项目的基础便是数据库,但是可能因为某些原因会导致数据丢失,或数据库结构变化,严重一点的或造成数据库删除。为了以防万一,这时候就需要我们定时进行数据库备份,但是如果人来操作的