人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

Centos7中MySQL數(shù)據(jù)庫使用mysqldump進(jìn)行每日自動(dòng)備份的編寫

發(fā)布日期:2022-02-09 08:09 | 文章來源:站長之家

一、需求說明:

數(shù)據(jù)庫的備份,對(duì)于生產(chǎn)環(huán)境來說尤為重要,數(shù)據(jù)庫的備份分為物理備份和邏輯備份。

物理備份:使用相關(guān)的復(fù)制命令直接將數(shù)據(jù)庫的數(shù)據(jù)目錄中的數(shù)據(jù)復(fù)制一份貨多分副本,常使用工具:XtraBackup。

邏輯備份:使用mysql自帶的mysqldump命令把需要備份的數(shù)據(jù)以sql語句的形式存儲(chǔ)起來。

下邊我們將使用mysqldump命令進(jìn)行數(shù)據(jù)備份。使用自動(dòng)任務(wù)進(jìn)行每日備份。

二、執(zhí)行文件編寫:

1、創(chuàng)建文件夾,執(zhí)行的sh文件和數(shù)據(jù)庫的備份文件都存在這個(gè)文件夾下

mkdir /usr/local/mysqlDataBackup
cd /usr/local/mysqlDataBackup

2、創(chuàng)建sh文件并編寫shell腳本:

backup.sh

單數(shù)據(jù)庫腳本:

#!/bin/bash
#This scripts is for auto backup databases
#create by weijb at 2021-07-28
#delete data from 7 day before
DATAdelete=‘date +%F -d "-7 day"‘
rm -rf /usr/local/mysqlDataBackup/*_${DATAdelete}.sql.gz
MYSQL_CMD=/usr/bin/mysqldump
MYSQL_USER=賬號(hào)
MYSQL_PWD=密碼
DATA=‘date +%F‘
DBname=test_db
${MYSQL_CMD} -u${MYSQL_USER} -p${MYSQL_PWD} --compact -B ${DBname} | gzip >/usr/local/mysqlDataBackup/${DBname}_${DATA}.sql.gz

解析:

?。?)刪除7天前的備份數(shù)據(jù),節(jié)省空間:
    DATAdelete=‘date +%F -d "-7 day"‘ 當(dāng)前時(shí)間前7天的日期

rm -rf /usr/local/mysqlDataBackup/*_${DATAdelete}.sql.gz 刪除前7天的備份數(shù)據(jù),節(jié)省空間,只保留最新的7天數(shù)據(jù)

(2)定義變量:  
    MYSQL_CMD=/usr/bin/mysqldump mysql自帶的mysqldump命令所在的位置
    MYSQL_USER=賬號(hào) mysql連接的賬號(hào)
    MYSQL_PWD=密碼            mysql連接的密碼
    DATA=‘date +%F‘ 獲取當(dāng)前日期,%F 表示格式:%Y-%m-%d 例如:2021-07-28
    DBname=test_db 需要備份的數(shù)據(jù)庫名,當(dāng)前的數(shù)據(jù)庫名為:test_db
 ?。?)執(zhí)行備份命令: 
    ${MYSQL_CMD} -u${MYSQL_USER} -p${MYSQL_PWD} --compact -B ${DBname} | gzip >/usr/local/mysqlDataBackup/${DBname}_${DATA}.sql.gz
    --compact 優(yōu)化輸出信息
    -B 包含建庫的語句
    gzip 壓縮備份,減少備份的文件大小
    usr/local/mysqlDataBackup/${DBname}_${DATA}.sql.gz 備份文件保存的路徑以及名字

多數(shù)據(jù)庫備份:

#!/bin/bash
#This scripts is for auto backup databases
#create by weijb at 2021-07-28
#delete data from 7 day before
DATAdelete=‘date +%F -d "-7 day"‘
rm -rf /usr/local/mysqlDataBackup/*_${DATAdelete}.sql.gz
MYSQL_CMD=/usr/bin/mysqldump
MYSQL_USER=賬號(hào)
MYSQL_PWD=密碼
DATA=‘date +%F‘
DBname=‘ mysql -u${MYSQL_USER} -p${MYSQL_PWD} -e "show databases;" | sed '1,5d'‘
for DBname in ${DBname}
do 
  ${MYSQL_CMD} -u${MYSQL_USER} -p${MYSQL_PWD} --compact -B ${DBname} | gzip >/usr/local/mysqlDataBackup/${DBname}_${DATA}.sql.gz
done

解析:

(1) 截取需要備份的數(shù)據(jù)庫

 -e "show databases;" | sed '1,5d'‘ 顯示所有的數(shù)據(jù)庫,并截取mysql自帶的information_schema、mysql、performance_schema、sys意外的所有數(shù)據(jù)庫。

(2) 其他的和單庫備份相同

3、驗(yàn)證腳本是否編寫成功:

(1)腳本文件授權(quán):

cd /usr/local/mysqlDataBackupchmod +x backup.sh

(2) 執(zhí)行腳本:

sh backup.sh

/usr/local/mysqlDataBackup 下生成文件說明編寫成功。

4、編寫自動(dòng)任務(wù):

每天凌晨1點(diǎn)對(duì)數(shù)據(jù)庫進(jìn)行備份:

crontab -e

輸入i進(jìn)行編輯:

00 01 * * * /usr/local/mysqlDataBackup/backup.sh

使用esc退出文件編輯,輸入 :wq 保存并退出。

查詢?nèi)蝿?wù)是否設(shè)置成功:

crontab -l

重啟crontab服務(wù):

service crond restart

至此,mysql的自動(dòng)任務(wù)腳本備份數(shù)據(jù)庫到此完成。

到此這篇關(guān)于Centos7中MySQL數(shù)據(jù)庫使用mysqldump進(jìn)行每日自動(dòng)備份的文章就介紹到這了,更多相關(guān)MySQL使用mysqldump自動(dòng)備份內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

香港服務(wù)器租用

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部