背景:
之前介紹了mysql資料庫在本機備份之後通過rsync軟體將備份資料同步到其他機器,但這種備份方式占用資料儲存。現在用單獨的檔案伺服器作為備份的客戶端,在檔案伺服器上連線mysql進行資料備份,從而實現了「異地容災」備份。在資料庫伺服器完全宕機的情況下,能夠根據異機儲存的備份資料實現資料恢復,從而降低對使用者影響。
使用方法:
將tar包解壓到某個目錄下(建議直接解壓到/home目錄下)。
tar -zxvf mysql-backup-beliver.tar.gz -c /home
cd /home/mysql-backup
#第一次備份需要執行,之後會自動每天凌晨0點備份
sh mysql-back.sh
壓縮包
mysql-backup-beleiver.tar.gz
指令碼說明:
#!/bin/bash
#author by believer 2020-11-20
#discription: this script use to backup mysql data.
source /etc/profile > /dev/null 2>
&1dir=
`pwd
`backup_time=
`date
"+%y%m%d%h%m%s"
`#資料庫ip
mysql_ip=192.168.1.100
#資料存放路徑
backup_dir=
'/data/ywdataback/backupdata'
#日誌路徑
backup_log=
'/data/ywdataback/log'
root_password=
'123456'
#第一次執行備份指令碼,將備份加到定時任務中
grep
$dir /etc/crontab > /dev/null 2>
&1if
[$? -ne '0'];
then
#每天凌晨備份
echo
"00 00 */1 * * root sh $dir/mysql-back.sh 1"
>> /etc/crontab
systemctl restart crond
fiexport mysql_pwd=
"$root_password"
#開始備份所有資料庫
#需要備份的資料庫名
doecho
"mysqldump -uroot -h $mysql_ip
$database > $/$_$_backup.sql"
>>
$/$_$_dump.log
mysqldump -uroot -h $mysql_ip
$database
>
$/$_$_backup.sql 2>>
$/$_$_dump.log
if[$? -eq '0'];
then
echo
"backup $database successful !"
>>
$/$_$_dump.log
else
echo
"backup $database fail !!!"
>>
$/$_$_dump.log
fidone
#定時清理舊的備份檔案,儲存三十天的備份資料
cd$/
find
$/ -type f -mtime +30 -exec rm -f \;
#定時清理日誌
cd$/
find
$/ -type f -mtime +30 -exec rm -f \;
MySQL資料庫備份 2
1 使用mysqldump備份和拷貝資料庫 當你使用mysqldumo程式產生資料庫備份檔案時,預設地,檔案內容包含建立正在傾倒的表的create語句和包含表中行資料的insert語句。換句話說,mysqldump產生的輸出可在以後用作mysql的輸入來重建資料庫。你可以將整個資料庫傾倒進乙個單獨的...
2壓縮備份資料庫 MySQL資料庫備份
前端監控 www.webfunny.cn 只需要簡單幾步,就可以搭建一套屬於自己的前端監控系統,快來試試吧。github webfunny monitor mysqldump 是 mysql 自帶的邏輯備份工具。它的備份原理是通過協議連線到 mysql 資料庫,將需要備份的資料查詢出來,將查詢出的資...
MySQL資料庫備份
晏子 在資料庫表丟失或損壞的情況下,備份你的資料庫是很重要的。如果發生系統崩潰,你肯定想能夠將你的表盡可能丟失最少的資料恢復到崩潰發生時的狀態。有時,正是mysql管理員造成破壞。管理員已經知道表以破壞,用諸如vi或emacs等編輯器試圖直接編輯它們,這對錶絕對不是件好事!備份資料庫兩個主要方法是用...