mysql中使用shell語句實(shí)現(xiàn)xtrabackup自動物理備份增量備份
實(shí)現(xiàn)腳本
[root@mysql_summary ~]# vim full_backup.sh
#!/bin/bash
{
innobackupex --user=admin --password=123 /full_xtraback &> /dev/null
} & #全備
{ #測試在全備過程中插入數(shù)據(jù)是否有效
mysql -e "create database test211" -uroot -p123456 &> /dev/null
mysql -e "create database test212" -uroot -p123456 &> /dev/null
mysql -e "create database test213" -uroot -p123456 &> /dev/null
mysql -e "create database test214" -uroot -p123456 &> /dev/null
}
wait
export full_path=$(cd /full_xtraback && ls | grep -E "$(date +%Y-%m-%d)_.\{8\}$")
innobackupex --user=admin --password=123 --apply-log --redo-only /full_xtrabackup/${full_path} &> /dev/null #向全備
中整合日志
[root@mysql_summary ~]# vim incr_backup.sh
#!/bin/bash
{
innobackupex --user=admin --password=123 --incremental /incre_backup --incremental-basedir=/full_xtrabackup/${full_path}&> /dev/null
}&
{
for i in {11..13}
do
mysql -e "create database db$i" -uroot -p123456;
done
}
wait
incr_path=$( cd /incre_backup && ls | grep -e "^$(date +%Y-%m-%d)_.\{8\}$")
innobackupex --user=admin --password=123 --apply-log /full_xtrabackup/${full_path} --incremental-dir=/incre_backup/${incr_path} &> /dev/null
crontab -e
30 1 * * 0 /root/full_backup.sh
30 1 * * 1 /root/incr_backup.sh
30 1 * * 2 /root/incr_backup.sh
30 1 * * 3 /root/full_backup.sh
30 1 * * 4 /root/incr_backup.sh
30 1 * * 5 /root/incr_backup.sh
30 1 * * 6 /root/incr_backup.sh難點(diǎn)解決
難點(diǎn):
- 1.物理備份時,默認(rèn)存儲的路徑是以時間為目錄的,而且我們不能夠去確定我們能夠在多長時間內(nèi)完成這個任務(wù),因此我們需要使用正則表達(dá)式去精準(zhǔn)匹配這個目錄,而且增量備份的腳本中也需要這個參數(shù)。
解決:
使用正則表達(dá)式去匹配到天,將此匹配到的結(jié)果使用export作為全局變量
- 2.我們很難去測試這個腳本是否能夠在物理備份或者增量備份的時候,是否可以將我們的代碼寫進(jìn)去,而且必須得保證實(shí)現(xiàn)了物理備份再去整合日志。
解決:
采用同步代碼塊去測試,首先進(jìn)行物理備份,將其掛載到后臺,我們執(zhí)行創(chuàng)建數(shù)據(jù)庫的語句,使用wait語句,當(dāng)這兩個代碼塊全部執(zhí)行完畢,我們再執(zhí)行整合日志的操作。如果說在模擬故障之后,我們的數(shù)據(jù)庫中有這些我們插入的數(shù)據(jù),就說明備份成功。
以上就是mysql數(shù)據(jù)庫使用shell語句實(shí)現(xiàn)xtrabackup自動物理備份增量備份的詳細(xì)內(nèi)容,更多關(guān)于mysql xtrabackup物理備份增量備份的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Windows10下mysql 8.0.12解壓版安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Windows10下mysql 8.0.12解壓版安裝方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-08-08
MySQL20個高性能架構(gòu)設(shè)計(jì)原則(值得收藏)
這篇文章主要介紹了MySQL20個高性能架構(gòu)設(shè)計(jì)原則,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下2020-08-08
mysql 大表批量刪除大量數(shù)據(jù)的實(shí)現(xiàn)方法
這篇文章主要介紹了mysql 大表批量刪除大量數(shù)據(jù)的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
mysql修改數(shù)據(jù)庫默認(rèn)路徑無法啟動問題的解決
這篇文章主要給大家介紹了關(guān)于mysql修改數(shù)據(jù)庫默認(rèn)路徑無法啟動問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-11-11

