凌晨两点接到电话,数据库连不上,登录服务器一看磁盘被日志塞满,MySQL进程直接挂了。折腾到天亮才把数据捞回来,那之后我干的第一件事,就是把linux定时备份mysql这件事彻底做扎实。不是说以前不懂要备份,而是总觉得“明天再配也不迟”,结果真出了事才后悔。这篇东西就是把我自己完整的备份方案、踩过的坑、还有恢复演练的细节都整理出来,Linux服务器上从零到能自动备份,并且出问题真能恢复,一步不缺。
网上关于linux定时备份mysql的资料其实不少,但大多数只丢给你一段脚本和一个crontab示例,写得很简略。真按那个去配,你会发现各种问题:mysqldump命令找不到、脚本执行了但备份文件是空的、cron环境和手动执行环境完全不一样、备份出来的文件恢复不了等等。这篇我会把每个环节为什么要这么做、出了错怎么排查都讲透,毕竟备份这事,最怕的就是“看起来配好了,实际上没用”。
1. 备份方案设计:动手之前必须先想清楚的三个问题
很多人上来就写脚本,我觉得顺序反了。备份这件事,