一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Mysql - Centos7中MySQL數據庫使用mysqldump進行每日自動備份的編寫

Centos7中MySQL數據庫使用mysqldump進行每日自動備份的編寫

2021-09-02 17:47yanlaile Mysql

數據庫的備份,對于生產環境來說尤為重要,數據庫的備份分為物理備份和邏輯備份。我們將使用mysqldump命令進行數據備份。使用自動任務進行每日備份,下邊我們將使用mysqldump命令進行數據備份,感興趣的朋友一起看看吧

一、需求說明:

數據庫的備份,對于生產環境來說尤為重要,數據庫的備份分為物理備份和邏輯備份。

物理備份:使用相關的復制命令直接將數據庫的數據目錄中的數據復制一份貨多分副本,常使用工具:XtraBackup。

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

下邊我們將使用mysqldump命令進行數據備份。使用自動任務進行每日備份。

二、執行文件編寫:

1、創建文件夾,執行的sh文件和數據庫的備份文件都存在這個文件夾下

?
1
2
mkdir /usr/local/mysqlDataBackup
cd /usr/local/mysqlDataBackup

2、創建sh文件并編寫shell腳本:

backup.sh

單數據庫腳本:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#!/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=賬號
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天前的備份數據,節省空間:
    DATAdelete=‘date +%F -d "-7 day"‘    當前時間前7天的日期

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

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

多數據庫備份:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#!/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=賬號
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) 截取需要備份的數據庫

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

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

3、驗證腳本是否編寫成功:

(1)腳本文件授權:

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

(2) 執行腳本:

sh backup.sh

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

4、編寫自動任務:

每天凌晨1點對數據庫進行備份:

crontab -e

輸入i進行編輯:

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

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

查詢任務是否設置成功:

crontab -l

重啟crontab服務:

service crond restart

至此,mysql的自動任務腳本備份數據庫到此完成。

到此這篇關于Centos7中MySQL數據庫使用mysqldump進行每日自動備份的文章就介紹到這了,更多相關MySQL使用mysqldump自動備份內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!

原文鏈接:https://www.cnblogs.com/yanlaile/archive/2021/07/28/15070558.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日本激情网站 | 久久精品国产亚洲AV麻豆欧美玲 | 摸进老太婆的裤裆小说 | 精品一区二区高清在线观看 | 日本一区二区免费在线观看 | 国产一级在线观看 | 男人与雌性宠物交啪啪小说 | 午夜在线观看免费完整直播网页 | 精品日韩欧美一区二区三区 | 亚洲精品高清中文字幕完整版 | 荡娃艳妇系列小说 | 亚洲日本在线观看网址 | 操小女人 | 免费黄色片在线观看 | 金莲你下面好紧夹得我好爽 | 国内在线播放 | a毛片免费全部在线播放毛 a级在线看 | 湿好紧太硬了我太爽了 | 欧美色综合高清免费 | 日韩大片免费观看 | 精品无码久久久久久久久 | 高清女主播一区二区三区 | xxx88视频在线观看 | 日韩伦理在线观看 | 无罩看奶禁18 | 九九精品视频在线免费观看 | 我和老丈洗澡同性 | 日日夜夜撸影院 | 国产青草视频在线观看免费影院 | 国产人成精品午夜在线观看 | 国产精品青青青高清在线观看 | 日韩欧美成末人一区二区三区 | 99精品久久精品一区二区小说 | 亚洲精品久久久久69影院 | 亚洲精品成人 | 午夜小视频免费观看 | 久久国产热视频99rev6 | 国产欧美国产综合第一区 | 春宵福利网站在线观看 | 91插插插插 | 亚洲午夜久久久久国产 |