濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > Centos7中MySQL數(shù)據(jù)庫(kù)使用mysqldump進(jìn)行每日自動(dòng)備份的編寫(xiě)

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

熱門(mén)標(biāo)簽:話(huà)務(wù)外呼系統(tǒng)怎么樣 智能外呼系統(tǒng)復(fù)位 外東北地圖標(biāo)注 云南電商智能外呼系統(tǒng)價(jià)格 拉卡拉外呼系統(tǒng) 臨清電話(huà)機(jī)器人 400電話(huà)可以辦理嗎 高清地圖標(biāo)注道路 大眾點(diǎn)評(píng)星級(jí)酒店地圖標(biāo)注

一、需求說(shuō)明:

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

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

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

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

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

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

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

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

backup.sh

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

#!/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

解析:

 (1)刪除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ù)

 ?。?)定義變量:  
    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ù)庫(kù)名,當(dāng)前的數(shù)據(jù)庫(kù)名為: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        包含建庫(kù)的語(yǔ)句
    gzip      壓縮備份,減少備份的文件大小
    usr/local/mysqlDataBackup/${DBname}_${DATA}.sql.gz   備份文件保存的路徑以及名字

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

#!/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ù)庫(kù)

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

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

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

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

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

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

sh backup.sh

/usr/local/mysqlDataBackup 下生成文件說(shuō)明編寫(xiě)成功。

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

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

crontab -e

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

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

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

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

crontab -l

重啟crontab服務(wù):

service crond restart

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

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

您可能感興趣的文章:
  • Windows下實(shí)現(xiàn)MySQL自動(dòng)備份的批處理(復(fù)制目錄或mysqldump備份)
  • MySQL數(shù)據(jù)遷移使用MySQLdump命令
  • mysql備份腳本 mysqldump使用方法詳解
  • 詳解 linux mysqldump 導(dǎo)出數(shù)據(jù)庫(kù)、數(shù)據(jù)、表結(jié)構(gòu)
  • 詳談mysqldump數(shù)據(jù)導(dǎo)出的問(wèn)題
  • 淺談mysqldump使用方法(MySQL數(shù)據(jù)庫(kù)的備份與恢復(fù))
  • 8種手動(dòng)和自動(dòng)備份MySQL數(shù)據(jù)庫(kù)的方法
  • linux實(shí)現(xiàn)mysql數(shù)據(jù)庫(kù)每天自動(dòng)備份定時(shí)備份
  • 詳解Mysql自動(dòng)備份與恢復(fù)的幾種方法(圖文教程)
  • CentOS系統(tǒng)下如何設(shè)置mysql每天自動(dòng)備份

標(biāo)簽:阿里 無(wú)錫 溫州 三明 山西 福州 揚(yáng)州 定西

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Centos7中MySQL數(shù)據(jù)庫(kù)使用mysqldump進(jìn)行每日自動(dòng)備份的編寫(xiě)》,本文關(guān)鍵詞  Centos7,中,MySQL,數(shù)據(jù)庫(kù),使用,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Centos7中MySQL數(shù)據(jù)庫(kù)使用mysqldump進(jìn)行每日自動(dòng)備份的編寫(xiě)》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于Centos7中MySQL數(shù)據(jù)庫(kù)使用mysqldump進(jìn)行每日自動(dòng)備份的編寫(xiě)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    新昌县| 翼城县| 沅江市| 克山县| 云南省| 凤凰县| 志丹县| 克拉玛依市| 宜宾县| 潮州市| 丽水市| 牡丹江市| 新巴尔虎右旗| 枣庄市| 新密市| 锦州市| 安泽县| 肥西县| 巢湖市| 苍南县| 广宗县| 聊城市| 浠水县| 疏勒县| 铁岭县| 黄陵县| 德化县| 彰武县| 绍兴县| 道孚县| 青神县| 土默特左旗| 绥棱县| 烟台市| 新乡市| 康定县| 乐昌市| 若尔盖县| 达孜县| 多伦县| 株洲县|