對于站長來說,數(shù)據(jù)庫備份是必不可少的。備份就像買保險一樣,平時不覺得有什么,但是一旦出現(xiàn)問題,絕對會成為你的救命稻草。整理了一個 mysql 數(shù)據(jù)庫定時備份腳本,可以實現(xiàn)每天定時備份數(shù)據(jù)庫,清理過期備份文件,備份日志等功能。
數(shù)據(jù)庫的數(shù)據(jù)基本每天都會變化,所以一般每天都會備份一次數(shù)據(jù)。會用到 corntab 和 mysqldump 這兩個工具。corntab 負(fù)責(zé)定時執(zhí)行任務(wù),mysqldump 負(fù)責(zé)將 mysql 數(shù)據(jù)備份到文件中。接下來咱就在馬來西亞vps主機(jī)上做一下演示
基于 mysqldump 的備份數(shù)據(jù)庫的腳本
以上腳本可以實現(xiàn)備份指定日期的數(shù)據(jù)庫文件,超過一定日期的備份文件自動刪除。還自帶每日備份日志。需要根據(jù)自己的情況配置 mysql 用戶名、密碼、數(shù)據(jù)庫名稱、備份文件保存路徑、保存?zhèn)浞菸募䲠?shù)量。再將腳本保存為文件如/mysql_bakup.sh
通過 crontab 實現(xiàn)定時執(zhí)行腳本
如每天晚上 10 點自動備份數(shù)據(jù)庫,其中/mysql_bakup.sh 是 mysql 備份腳本。
執(zhí)行 corntab -e,加入以下命令
0 22 * * * bash /mysql_bakup.sh
mysql 數(shù)據(jù)庫恢復(fù)步驟
1 進(jìn)入數(shù)據(jù)庫
mysql -u root -p
2 創(chuàng)建數(shù)據(jù)庫
create db_name;
3 恢復(fù)數(shù)據(jù)庫,其中 mysql_bak.sql 是備份文件
source /mysql_bak.sql