MySQL运维33-MySQL备份

文章详细介绍了MySQL的备份策略,强调了基于从库备份、热备份以及根据数据量选择物理或逻辑备份的重要性。同时,讲解了使用mysqldump进行数据库及存储过程的备份和恢复方法,包括无阻塞备份、触发器的处理等,并提到了全量与增量备份的组合使用策略。
摘要由CSDN通过智能技术生成

1、MySQL备份策略

  1. 优先基于从库做备份:减少对生产环境的负荷。
  2. 优先做热备份:热(Hot)的意思是备份时不关闭MySQL服务、不影响生产。
  3. 数据量大优先做物理备份,数据量小可做逻辑备份:逻辑备份(一般是mysqldump)更简单,但恢复时间长。
  4. 应制定完善的数据备份策略:包括日备份、周备份、月备份、季备份。数据量大时,定期全量备份(低频),再经常增量备份(高频)。原则上近期要每天备份。expi re_logs_days参数至少要跨越2~3个备份;
  5. 备份服务器应该视为与生产服务器一样重要:备份文件应该和数据库主机物理分开,可以选择FTP上传或其他网络传输方式把备份文件保留在独立的备份服务器上。可以使用NFS挂载文件系统的方式进行远程备份。
  6. 主库应启用二进制日志:以便搭建从库,做时间点恢复。

2、使用mysqldump备份和恢复数据

2.1、基本的备份和恢复

  1. 整库备份命令格式
shell> mysqldump --databases db_name > db_name.sql
  1. 恢复方式一:
shell> mysql db_name < db_name.sql
  1. 恢复方式二,可以使用source命令来执行:
mysql > source /path/to/db_name.sql
  1. 生产环境中一般为主从配置,一般应在从库上进行定时备份。如下是一个使用mysqldump备份的完整示例。
mysqldump --single-transaction --flush-logs --master-data=2 --hex-blob -R -E -f --all-databases 2>> /path/to/log | gzip > sql.name.gz
  • –single-transaction参数:实现无阻塞备份,只在开始时锁表,然后就是无阻塞备份,即备份不影响事务的运行。
  • -f参数:由于视图有依赖,如果基础表不存在或没有权限,那么视图的导出将会失败,而且会导致mysqldump命令的退出,为了避免这个问题,可以添加一个参数-f强制导出数据而不是中途退出。
  • –result-file参数:对于mysqldump的备份,需要检查其输出,检查是否有错误或警告,正常备份结束后,应该有“Dump completed on”字样,我们可以使用–result-file参数保存mysqldump结果。

2.2、存储过程的备份和恢复

  1. 备份存储过程:
shell> mysqldump  -td -R --triggers=false  db_name > db_name_procedure.sql
  1. 仅备份数据,而不备份存储和触发器。
mysqldump --triggers=false  db_name > db_name_data.sql
  1. 触发器恢复时,需要先删除数据库中原有的触发器。由于导出触发器的转储文件里没有DROP TRIGGIER语句,因此我们需要手动生成DROP TRIGGER的语句,如下语句可以基于information_schema自动生成触发器删除语句:
SELECT CONCAT('drop trigger ',TRIGGER_NAME,';') INTO OUTFILE '/tmp/drop_trigger.sql' FROM information_schema.triggers WHERE TRIGGER_SCHEMA='db_name';

3、总结

  1. MySQL的备份最好在从库上进行,数据量大适合用物理备份(数据文件的备份),数据量小适合用逻辑备份(mysqldump)。
  2. MySQL的备份最好做热备份,就是不影响生产,不需要停机。
  3. 数据量大的库建议低频定期做全备,高频定期做增备。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值