這篇文章將為大家詳細(xì)講解有關(guān)MySQL主從復(fù)制環(huán)境中如何添加新數(shù)據(jù)庫,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、成都網(wǎng)站制作、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)公司是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)公司推出雨花臺(tái)免費(fèi)做網(wǎng)站回饋大家。
主從復(fù)制基本步驟
首先,我們列舉一下主從復(fù)制的基本步驟,(MySQL主從首先需要在各自服務(wù)器配置好)。
(1)復(fù)制數(shù)據(jù)庫
mysqldump --master-data --single-transaction -R --databases [db_name] | gzip -9 - | pv > all-db-with-master-data.sql.gz
注意:innodb用 –single-transaction, myisam需要用 –lock-all-tables。
(2)復(fù)制,導(dǎo)入數(shù)據(jù)
pv < all-db-with-master-data.sql.gz | zcat | mysql
(3)啟動(dòng)slave數(shù)據(jù)庫
slave start
注意:切換到主的語句已經(jīng)在導(dǎo)出的sql語句里面了,注意查看下面的代碼片段。
change master to master_log_file=’(binlog name in relay_master_log_file)’, master_log_pos=(exec_master_log_pos number)
那么,在現(xiàn)有的主從復(fù)制結(jié)構(gòu)中,如何增加一個(gè)新的數(shù)據(jù)庫進(jìn)去?我們繼續(xù)往下看。
添加數(shù)據(jù)庫
比如我們要增加一個(gè)數(shù)據(jù)庫在master服務(wù)器上,比如,名為newdb的數(shù)據(jù)庫。具體操作如下:
(1)從服務(wù)上,停掉slave數(shù)據(jù)庫。
stop slave;
(2)主服務(wù)器上,導(dǎo)出新數(shù)據(jù)庫
mysqldump --master-data --single-transaction -R --databases newdb > newdb.sql
(3)修改主服務(wù)器my.cnf文件
主服務(wù)器上,修改my.cnf文件,添加新庫到binlog-do-db參數(shù),重啟mysql。
(4)查找當(dāng)前的日志文件以及位置
在導(dǎo)出的newdb.sql里面查找當(dāng)前的日志文件以及位置(change master to …)
然后讓slave服務(wù)器執(zhí)行到這個(gè)位置。
start slave until MASTER_LOG_FILE="mysql-bin.000001", MASTER_LOG_POS=1222220;
其中MASTER_LOG_FILE以及MASTER_LOG_POS在導(dǎo)出的數(shù)據(jù)庫newdb.sql頂部位置查找。
(5)導(dǎo)入新庫到從服務(wù)器上
mysql < newdb.sql
(6)啟動(dòng)從服務(wù)器
start slave
關(guān)于MySQL主從復(fù)制環(huán)境中如何添加新數(shù)據(jù)庫就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。