數據庫是一個網站的核心,若是數據庫發生異常或一不當心刪了數據庫,這對於一個網站來講是一個毀滅性的打擊,因此咱們的數據庫必定要作好備份,這裏我就記錄下mysql的自動備份mysql
數據庫的備份咱們使用到了mysql的mysqldump命令sql
/usr/local/mysql/bin/mysqldump -u用戶名 -p密碼 須要備份的數據庫 > 數據庫備份文件地址
咱們執行上面的命令核能會出現以下警告:數據庫
mysqldump: [Warning] Using a password on the command line interface can be insecure.
出現如上警告這是因爲數據庫的密碼直接輸出在命令行,這是不安全的,解決以下:安全
(1):修改/etc/my.cnfwen文件bash
在[mysqldump]下填入以下命令:服務器
host = 127.0.0.1 user = 用戶名 password = 密碼
(2):修改mysqldump命令網站
將mysqldump命令修改以下:spa
/usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf 須要備份的數據庫 > 數據庫備份文件地址
這樣就不會出現警告了命令行
這裏咱們使用mysqldump命令和crond(定時器)來實現數據庫自動備份rest
1:編寫自動備份腳本
我建立了一個目錄專門放數據庫自動備份腳本和數據庫備份文件
mkdir /data/mysql_data
咱們建立一個backup_mysql.sh腳本,腳本內容爲:
#!/bin/bash date=`date +%Y%m%d` filename="mysql${date}" /usr/local/mysql/bin/mysqldump --defaults-extra-file=/etc/my.cnf blog > /data/mysql_data/${filename}.sql ec /data/mysql_data/ tar zcPf ${filename}.tar.gz ${filename}.sql rm -rf /data/mysql_data/${filename}.sql
編寫完腳本以後保存退出,而後變動腳本的執行權限:
chmod +x /data/mysql_data/backup_mysql.sh
腳本編寫完後咱們能夠直接執行腳本,看看是否能夠備份數據庫:
/data/mysql_data/backup_mysql.sh
執行完成以後咱們能夠看到咱們的數據庫備份成功了
2:使用crond來實現腳本指定時間自動執行
使用以下命令進入cornd編輯頁
crontab -e
而後再編輯與填入以下命令
0 0 * * * /data/mysql_data/backup_mysql.sh
而後執行:
service crond reload #從新載入配置 service crond restart #重啓crond
這樣天天00:00的時候Linux服務器就會自動執行這個腳本實現mysql自動備份