如何定時備份Mysql數據庫

1.建立備份數據庫存儲目錄mysql

cd data/db
mkdir backup #建立存儲目錄

 

2.添加備份腳本sql

vim backupdb.sh #建立腳本文件

腳本內容以下:數據庫

#!/bin/sh
db_name="xxxxxx" #數據庫名稱
name="$db_name-$(date +"%Y-%m-%d-%H-%M-%S")" #生成備份文件的名稱
/usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql #生成備份sql文件
#/usr/local/mysql/bin/mysqldump $db_name >> /data/db/backup/$name.sql >> /data/db/backup/error.log 2>&1 #能夠經過將輸出輸入到日誌文件中查看錯誤。
#壓縮並刪除原文件
cd /data/db/backup
tar -zcvf $name.sql.tar.gz $name.sql --remove-files

 

3.修改mysql配置文件vim

vim /etc/my.cnf
#添加
[mysqldump]
user=db_username #數據庫用戶
password=db_password #密碼

#添加完成記得重啓mysql服務
service mysqld restart

 

4.經過crontab添加定時任務執行腳本spa

crontab -e #編輯定時任務
0 1 * * * /bin/sh /data/db/backupdb.sh #天天凌晨一點執行備份任務

 

可能會出現的問題:rest

vim /var/log/cron 查看定時任務執行紀錄

發現:(root) MAIL (mailed 192 bytes of output but got status 0x004b#012)
這個是執行腳本權限問題,進行如下操做:
chmod u+x backupdb.sh #給腳本添加可執行權限,若是用戶用的是root只加擁有者就能夠。

 

至此,便完成了定時備份Mysql數據庫。。。。日誌

相關文章
相關標籤/搜索