下面由linux系統(tǒng)教程欄目給大家介紹Linux下定時(shí)備份數(shù)據(jù)庫方法,希望對需要的朋友有所幫助!
linux下使用crontab定時(shí)備份MYSQL數(shù)據(jù)庫的方法
只需按照下面3步做,一切都在你的掌控之下:
第一步:在服務(wù)器上配置備份目錄代碼:
mkdir /var/lib/mysqlbackup cd /var/lib/mysqlbackup
第二步:編寫備份腳本代碼:
vi dbbackup.sh 粘帖以下代碼,務(wù)必更改其中的username,password和dbname。 #!/bin/sh mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbnamedate +%Y-%m-%d_%H%M%S.sql.gz cd /var/lib/mysqlbackup rm -rf find . -name '*.sql.gz' -mtime 10 #刪除10天前的備份文件
第三步:更改備份腳本權(quán)限
chmod +x dbbackup.sh
第四步:用crontab定時(shí)執(zhí)行備份腳本代碼:
crontab -e
若每天晚上21點(diǎn)00備份,添加如下代碼
00 21 * /var/lib/mysqlbackup/dbbackup.sh
會遇到的問題:
1.mysqldump 是備份數(shù)據(jù)庫的命令,不懂直接百度就好。
2.Crontab 是定時(shí)任務(wù)的命令,如果不懂可以訪問http://www.thinkphp.cn/code/1…
3.備份數(shù)據(jù)首先要確定已經(jīng)給root設(shè)置了密碼,否則會報(bào)mysqldump執(zhí)行時(shí)Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect
解決辦法:
登錄mysql客戶端
mysql -hserverip -uroot -p mysql> use mysql; Database changed mysql> update user set password=password('new password') where user='root'; Query OK, 4 rows affected (0.00 sec) Rows matched: 4 Changed: 4 Warnings: 0 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //這個(gè)命令是給用戶賦予了新的權(quán)限或者密碼,直接讀到內(nèi)存中不需要重啟數(shù)據(jù)庫防止出錯(cuò) mysql> quit
推薦學(xué)習(xí):《linux視頻教程》