共計(jì) 1200 個(gè)字符,預(yù)計(jì)需要花費(fèi) 3 分鐘才能閱讀完成。
自動(dòng)寫代碼機(jī)器人,免費(fèi)開(kāi)通
今天就跟大家聊聊有關(guān)怎么在 MySQL 中設(shè)置定時(shí)備份數(shù)據(jù)庫(kù),可能很多人都不太了解,為了讓大家更加了解,丸趣 TV 小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
1. 查看 mysqldump
root@laowang:/# which mysqldump
/usr/bin/mysqldump
2. 編寫腳本
編輯 my.cnf 文件, 指定賬號(hào)與密碼, 然后在腳本中引用
root@laowang:/# vim /etc/my.cnf
[mysqldump]
user=root
password=root
腳本文件
root@laowang:/var/backups# vim mysql_backup.sh
#!/bin/sh
#################################################
# 備份數(shù)據(jù)庫(kù)
#################################################
#mysqldump 備份程序執(zhí)行路徑
DUMP=/usr/bin/mysqldump
#備份文件存放路徑
OUT_DIR=/var/database
#備份文件所屬權(quán)限
LINUX_USER=root
#要備份的數(shù)據(jù)庫(kù)名字
DB_NAME=laowang
#備份的天數(shù), 之前的刪除
DAYS=1
#進(jìn)入備份存放目錄
cd $OUT_DIR
#獲取當(dāng)前系統(tǒng)時(shí)間
DATE=`date +%Y_%m_%d`
#備份數(shù)據(jù)庫(kù)的文件名
OUT_SQL=$DB_NAME _$DATE.sql
#最終保存的數(shù)據(jù)庫(kù)備份文件名
TAR_SQL=$DB_NAME _$DATE.tar.gz
#開(kāi)始執(zhí)行備份數(shù)據(jù)庫(kù)
$DUMP --defaults-extra-file=/etc/my.cnf --default-character-set=utf8 $DB_NAME $OUT_SQL
#壓縮為.tar.gz 格式
tar -czf $TAR_SQL ./$OUT_SQL
#刪除.sql 格式的備份文件
rm $OUT_SQL
#更改備份數(shù)據(jù)庫(kù)文件的所有者
chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL
#刪除 30 天前的備份文件 (注意:{} \; 中間有空格 )
find $OUT_DIR -name *.tar.gz -type f -mtime +$DAYS -exec rm -f {} \;
3. 定時(shí)計(jì)劃
root@laowang:/# crontab -e
# m h dom mon dow command
10 10 * * * /var/backups/mysql_backup.sh
ctrl+X 退出
y 保存修改
看完上述內(nèi)容,你們對(duì)怎么在 MySQL 中設(shè)置定時(shí)備份數(shù)據(jù)庫(kù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝大家的支持。
向 AI 問(wèn)一下細(xì)節(jié)
正文完
發(fā)表至: 數(shù)據(jù)庫(kù)
2023-12-04