Mysql分庫分表備份方法實(shí)現(xiàn)

1.mysqldump工具介紹

mysqldump命令是MySQL數(shù)據(jù)庫自帶的一個(gè)備份命令陶珠,它支持?jǐn)?shù)據(jù)庫全備也可以指定庫進(jìn)行備份,它備份的文件以文件形式備份蒋譬,且文件內(nèi)容都是SQL語句形式的存在割岛。

2.基本命令的使用

(1)mysqldump語法格式

mysqldump? [options] –u 用戶名 -p 密碼 數(shù)據(jù)庫名? >? 備份的文件

(2)mysqldump[options]參數(shù)列表如下表所示:

(3)連接mysql命令

[root@bigdata3 ~]# mysql -h10.9.1.43 -uroot -p123456 -e "show databases;"

去掉周圍邊框使用-s命令

[root@bigdata3 ~]# mysql -h10.9.1.43 -uroot -p123456@3306 -s -e "show databases;"

命令執(zhí)行結(jié)果如下圖所示:

(4)mysqldump命令多數(shù)據(jù)庫備份

[root@bigdata3 ~]# mysqldump -h10.9.1.43 -uroot -p123456 -B dandan_test oozie > /home/centos/mysql_back.bak

cd 到/home/centos目錄下查看生成了該文件

進(jìn)入該文件中查看,備份的數(shù)據(jù)全部以sql命令的形式生成犯助,如下圖所示蜂桶。

(5)mysqldump壓縮備份

[root@bigdata3 ~]# mysqldump -h10.9.1.43 -uroot -p123456 -B dandan_test | gzip > /home/centos/mysql_back_B.sql.gz

查看:

(6)數(shù)據(jù)庫備份恢復(fù)

刪掉dandan_test:drop database dandan_test;

非壓縮恢復(fù):

[root@bigdata3 centos]# mysql -h10.9.1.43 -uroot -p123456 </home/centos/mysql_back.bak

壓縮恢復(fù):

[root@bigdata3 centos]# gunzip < /home/centos/mysql_back_B.sql.gz | mysql -h10.9.1.43 -uroot -p123456

驗(yàn)證:

mysql -h10.9.1.43 -uroot -p123456 -e "use dandan_test;select * from tb_score1;"

[root@bigdata3 centos]# mysql -h10.9.1.43 -uroot -p123456 -e "use dandan_test;select * from tb_score1;"

(7)mysql備份表結(jié)構(gòu)

[root@bigdata3 centos]# mysqldump -h10.9.1.43 -uroot -p123456 -d dandan_test >/home/centos/dandan_test_back.bak

查看:

(8)mysql備份表數(shù)據(jù)

[root@bigdata3 ~]# mysqldump -h10.9.1.43 -uroot -p123456 -t dandan_test >/home/centos/dandan_test_back.bak

查看結(jié)果如下提所示:

3.mysql分庫備份shell腳本

具體shel腳本如下:

#!/bin/bash

DATE=$(date '+%Y%m%d')

HOST=10.9.1.43

USER=root

PASS=123456

BACKUP_DIR=/home/centos/db_backup

DB_LIST=$(mysql -h$Host -u$USER -p$PASS -s -e "show databases;" 2>/dev/null |egrep "dandan_test|oozie")

if [ ! -d $BACKUP_DIR ]

then

mkdir -p "$BACKUP_DIR"

fi

for DB in $DB_LIST; do

? ? BACKUP_NAME=$BACKUP_DIR/${DB}_${DATE}.sql

mysqldump -h$HOST -u$USER -p$PASS -B $DB > $BACKUP_NAME 2>/dev/null

? ? if [ $? != 0 ]; then

? ? ? ? echo "$BACKUP_NAME 備份失敗!"

? ? fi

done

4 mysql分表備份shell腳本

具體shell腳本如下:

#!/bin/bash

DATE=$(date '+%Y%m%d')

HOST=10.9.1.43

USER=root

PASS=123456

BACKUP_DIR=/home/centos/db_backup

DB_LIST=$(mysql -h$HOST -u$USER-p$PASS -s -e "show databases;" 2>/dev/null |egrep "dandan_test|oozie")

for DB in $DB_LIST; do

? ? BACKUP_DB_DIR=$BACKUP_DIR/${DB}_${DATE}

? ? [ ! -d $BACKUP_DB_DIR ] && mkdir -p $BACKUP_DB_DIR &>/dev/null

? ? TABLE_LIST=$(mysql -h$HOST -u$USER -p$PASS -s -e "use $DB;show tables;" 2>/dev/null)

? ? for TABLE in $TABLE_LIST; do

? ? ? ? BACKUP_NAME=$BACKUP_DB_DIR/${TABLE}.sql

? ? ? ? if ! mysqldump -h$HOST -u$USER -p$PASS $DB $TABLE > $BACKUP_NAME 2>/dev/null; then

? ? ? ? ? ? echo "$BACKUP_NAME 備份失敗!"

? ? ? ? fi

? ? done

done

5.小結(jié)

?? 本文主要闡述了Mysql分庫分表的備份方法,并對mysqldump工具具體操作進(jìn)行了分析研究也切,給出了具體備份的shell腳本扑媚,可以通過crontab定時(shí)任務(wù)按照項(xiàng)目需求進(jìn)行備份。

? 本文要點(diǎn):

(1)連接mysql的指令雷恃,前提需要安裝mysql客戶端疆股。

(2)mysqldump指令,注意分庫倒槐、分表指定的參數(shù)旬痹,及恢復(fù)的方法。

(3)mysql分庫的shell腳本的編寫

(4)mysql分表的shell腳本編寫(建議編寫時(shí)讨越,基本的指令需要先在linux中實(shí)驗(yàn)成功)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末两残,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子把跨,更是在濱河造成了極大的恐慌人弓,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件着逐,死亡現(xiàn)場離奇詭異崔赌,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)耸别,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門健芭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人秀姐,你說我怎么就攤上這事慈迈。” “怎么了省有?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵痒留,是天一觀的道長。 經(jīng)常有香客問我锥咸,道長狭瞎,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任搏予,我火速辦了婚禮熊锭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己碗殷,他們只是感情好精绎,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著锌妻,像睡著了一般代乃。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上仿粹,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天搁吓,我揣著相機(jī)與錄音,去河邊找鬼吭历。 笑死堕仔,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的晌区。 我是一名探鬼主播摩骨,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼朗若!你這毒婦竟也來了恼五?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤哭懈,失蹤者是張志新(化名)和其女友劉穎灾馒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體银伟,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡你虹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了彤避。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡夯辖,死狀恐怖琉预,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情蒿褂,我是刑警寧澤圆米,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站啄栓,受9級特大地震影響娄帖,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昙楚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一近速、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦削葱、人聲如沸奖亚。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽昔字。三九已至,卻和暖如春首繁,著一層夾襖步出監(jiān)牢的瞬間作郭,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工弦疮, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留所坯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓挂捅,卻偏偏與公主長得像芹助,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子闲先,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容