Linux下定時備份數據庫

linux下使用crontab定時備份MYSQL數據庫的方法
只需按照下面3步作,一切都在你的掌控之下:php

第一步:在服務器上配置備份目錄代碼:

1 mkdir /var/lib/mysqlbackup 
2 cd /var/lib/mysqlbackup

第二步:編寫備份腳本代碼:

1 vi dbbackup.sh 
2 粘帖如下代碼,務必更改其中的username,password和dbname。 
3 #!/bin/sh
4 mysqldump -uuser -ppassword dbname | gzip > /var/lib/mysqlbackup/dbname`date +%Y-%m-%d_%H%M%S`.sql.gz
5 cd  /var/lib/mysqlbackup
6 rm -rf `find . -name '*.sql.gz' -mtime 10`  #刪除10天前的備份文件

第三步:更改備份腳本權限

1 chmod +x dbbackup.sh 

第四步:用crontab定時執行備份腳本代碼:

crontab -e 
若天天晚上21點00備份,添加以下代碼
00 21 * * * /var/lib/mysqlbackup/dbbackup.sh

會遇到的問題:
1.mysqldump 是備份數據庫的命令,不懂直接百度就好。
2.Crontab 是定時任務的命令,若是不懂能夠訪問http://www.thinkphp.cn/code/1003.html
3.備份數據首先要肯定已經給root設置了密碼,不然會報mysqldump執行時Got error: 1045: Access denied for user ‘root’@’localhost’ (using password: YES) when trying to connect
解決辦法:
登陸mysql客戶端html

1 mysql -hserverip -uroot -p
2 mysql> use mysql; Database changed
3 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
4 mysql> flush privileges; Query OK, 0 rows affected (0.00 sec) //這個命令是給用戶賦予了新的權限或者密碼,直接讀到內存中不須要重啓數據庫防止出錯
5 mysql> quit
相關文章
相關標籤/搜索