mysql定時備份shell腳本和還原的示例
前言
數(shù)據(jù)庫備份是防止數(shù)據(jù)丟失的一種重要手段。生產(chǎn)環(huán)境中,數(shù)據(jù)的安全性是至關(guān)重要的,任何數(shù)據(jù)的丟失都可能產(chǎn)生嚴(yán)重的后果。
數(shù)據(jù)庫備份的重要性主要體現(xiàn)在:
- 提高系統(tǒng)的高可用性和災(zāi)難可恢復(fù)性,在數(shù)據(jù)庫系統(tǒng)崩潰時,沒有數(shù)據(jù)庫備份就沒法找到數(shù)據(jù)。
- 使用數(shù)據(jù)庫備份還原數(shù)據(jù)庫,是數(shù)據(jù)庫崩潰時提供數(shù)據(jù)恢復(fù)最小代價的最優(yōu)方案,如果讓用戶重新- 添加數(shù)據(jù),代價未免太大。
- 沒有數(shù)據(jù)就沒有一切,數(shù)據(jù)庫備份是一種防范災(zāi)難的強(qiáng)力手段。
數(shù)據(jù)庫備份分類
- 物理備份:對數(shù)據(jù)庫物理文件的備份
- 邏輯備份:對數(shù)據(jù)庫對象和對象數(shù)據(jù)的備份,mysql使用mysqldump將數(shù)據(jù)庫中的對象和數(shù)據(jù)以sql的形式導(dǎo)出。以下介紹的是使用mysqldump進(jìn)行數(shù)據(jù)庫的備份。
mysqldump命令
命令格式:mysqldump -h主機(jī)名 -P端口 -u用戶名 -p密碼 參數(shù)1,參數(shù)2… > 備份文件.sql
主要參數(shù):
- databases
指定要備份的數(shù)據(jù)庫
參數(shù)后面所有名字參量都被看作數(shù)據(jù)庫名。 - tz-utc
tz-utc 參數(shù)是 mysqldump 的默認(rèn)參數(shù),會使得 mysqldump 的導(dǎo)出文件的頂部加上一個設(shè)置時區(qū)的語句 SET TIME_ZONE=‘+00:00’ ,這個時區(qū)是格林威治時間,也就是0時區(qū)。這樣當(dāng)導(dǎo)出 timestamp 時間戳字段時,會把在服務(wù)器設(shè)置的當(dāng)前時區(qū)下顯示的 timestamp 時間值轉(zhuǎn)化為在格林威治時間下顯示的時間。比如我們數(shù)據(jù)庫采用北京時間東八區(qū),mysqldump 導(dǎo)出的文件當(dāng)中顯示的 timestamp 時間值相對于通過數(shù)據(jù)庫查詢顯示的時間倒退了8個小時。 - skip-tz-utc
skip-tz-utc 的含義就是當(dāng) mysqldump 導(dǎo)出數(shù)據(jù)時,不使用格林威治時間,而使用當(dāng)前 mysql 服務(wù)器的時區(qū)進(jìn)行導(dǎo)出,這樣導(dǎo)出的數(shù)據(jù)中顯示的 timestamp 時間值也和表中查詢出來的時間值相同。 - compact
壓縮模式,產(chǎn)生更少的輸出
去掉注釋和頭尾等結(jié)構(gòu)。
-skip-comments可以去掉導(dǎo)出文件中的注釋語句
備份計劃
每日備份,保留30天備份文件
shell腳本如下:
定時調(diào)度
使用crontab命令
crontab -e #每日凌晨備份 0 0 * * * /opt/backup.sh >> /tmp/backup_error.log 2>&1
還原
./mysql -h 127.0.0.1 -u root -p'xxxxx' <backup_2024-01-09.sql
總結(jié)
數(shù)據(jù)庫備份是生產(chǎn)環(huán)境必做的一項(xiàng)工作。備份時參數(shù)很重要,否則在還原時會遇到各類問題。還原時也時常出現(xiàn)問題。
到此這篇關(guān)于mysql定時備份shell腳本和還原的示例代碼的文章就介紹到這了,更多相關(guān)mysql定時備份還原shell內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在Debian 9系統(tǒng)上安裝Mysql數(shù)據(jù)庫的方法教程
這篇文章主要給大家介紹了在Debian 9系統(tǒng)上安裝Mysql數(shù)據(jù)庫的方法教程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10mysql8.0.18下安裝winx64的詳細(xì)教程(圖文詳解)
這篇文章主要介紹了安裝mysql-8.0.18-win-x64的詳細(xì)教程,本文圖文并茂給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11MySQL創(chuàng)建數(shù)據(jù)庫的兩種方法
這篇文章主要為大家詳細(xì)介紹了MySQL創(chuàng)建數(shù)據(jù)庫的兩種方法,感興趣的小伙伴們可以參考一下2016-05-05MySQL安裝詳解圖文版(V5.5 For Windows)
這幾年一直在用MySQL,并且是Windows+.Net+MySQL的搭配,用MyISAM引擎支持過單表每天千萬以上的數(shù)據(jù)遞增,TB級的數(shù)據(jù)MySQL游刃有余。2011-09-09