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