在Linux環境下mysql數據庫備份

數據庫是一個網站的核心,若是數據庫發生異常或一不當心刪了數據庫,這對於一個網站來講是一個毀滅性的打擊,因此咱們的數據庫必定要作好備份,這裏我就記錄下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 = 密碼

image.png

(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

執行完成以後咱們能夠看到咱們的數據庫備份成功了

image.png

2:使用crond來實現腳本指定時間自動執行

使用以下命令進入cornd編輯頁

crontab -e

而後再編輯與填入以下命令

0 0 * * * /data/mysql_data/backup_mysql.sh

而後執行:

service  crond reload #從新載入配置
service  crond restart #重啓crond

這樣天天00:00的時候Linux服務器就會自動執行這個腳本實現mysql自動備份

相關文章
相關標籤/搜索