MySql在linux下的自動備份

2021-04-24 07:01:54 字數 990 閱讀 4593

mysql在windows下可借助於mysql administrator來完成定期備份,而在linux下就比較麻煩,沒有現成的,就只能自己寫了。

1、建立乙個mysql.sh,裡面輸入

!/bin/sh

#backup mysql database

#delete file

find /usr/local/backup/mysql -type f -mtime +7 -exec rm {} /;

rq=`date +%y%m%d%h%m`

#backup each database

for db in `echo 「show databases」 | /usr/local/mysql/bin/mysql -uroot -p654123 |grep -v database`;

doecho $db;

/usr/local/mysql/bin/mysqldump -q -a -c -uroot -p***x $db |gzip > `echo 「/usr/local/backup/mysql/other_db($db)_$rq.sql.gz」`

done

大概思路是先刪除7天前的備份檔案,以免硬碟空間被占用過多,而後遍歷所有資料庫,進行逐一備份,備份檔案自己會進行壓縮,以節省空間。

檔案中目錄名稱、密碼請根據自己的情況進行修改。

2、更改檔案屬性,使其可以執行

#chmod +x mysql.sh

3、現在如果手工執行該檔案,就可以完成備份,不過我們的目的是能夠讓系統自動定期備份,所以還需要借助linux的crontab功能。

#vi /etc/crontab

在下面新增

01 3 * * * root /usr/sbin/mysql.sh

表示每天3點鐘執行備份,檔名請自行修改

4、重新啟動crond

# /etc/rc.d/init.d/crond restart

這樣就可以了,每天就可以在備份目錄下看到備份檔案

在linux下實現mysql自動備份資料

使用的系統為centos,mysql版本為5.6 備份功能主要利用以下功能實現 mysql命令中的mysqldump命令 linux下指令碼編寫 linux下crontab定時任務的使用 首先確定你要存放指令碼的目錄和存放備份資料的目錄 首先進行以下修改 因為在命令列或者指令碼中寫mysql密碼,m...

Linux 下的 mysql 自動備份

linux 下實現自動備份,主要就是編寫好執行備份的 shell script sh 檔案,設好許可權 可讀,可執行 然後利用 linux 定時任務crontab來執行備份指令碼就可以了。以後備份其他檔案也是這樣的執行過程 資料庫賬號 db user 資料庫密碼 db passwd 資料庫名稱 db...

linux下mysql自動備份

其實這個mysql自動備份的小指令碼非常簡單,下面是這個小指令碼的步驟。cd www mkdir mysqlbackup vi mysqlautobackup.sh 這個mysqlautobackup.sh的檔案裡寫入以下內容 filename date y m d mysql bin dir my...