最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識(shí)百科 - 正文

線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī)

來源:懂視網(wǎng) 責(zé)編:小采 時(shí)間:2020-11-09 10:26:44
文檔

線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī)

線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī):更多博文請(qǐng)關(guān)注:沒有傘的孩子必須努力奔跑(www.xuchanggang.cn)在工作中,主從環(huán)境搭的多了,但是,基本上都是在DBSERVER停機(jī)(游戲公司)的情況下搭建的,今天突 在工作中,主從環(huán)境搭的多了,但是,基本上都是在DB SERVER停機(jī)(游戲公司)的情況下搭
推薦度:
導(dǎo)讀線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī):更多博文請(qǐng)關(guān)注:沒有傘的孩子必須努力奔跑(www.xuchanggang.cn)在工作中,主從環(huán)境搭的多了,但是,基本上都是在DBSERVER停機(jī)(游戲公司)的情況下搭建的,今天突 在工作中,主從環(huán)境搭的多了,但是,基本上都是在DB SERVER停機(jī)(游戲公司)的情況下搭

更多博文請(qǐng)關(guān)注:沒有傘的孩子必須努力奔跑(www.xuchanggang.cn)在工作中,主從環(huán)境搭的多了,但是,基本上都是在DBSERVER停機(jī)(游戲公司)的情況下搭建的,今天突


在工作中,主從環(huán)境搭的多了,但是,基本上都是在DB SERVER停機(jī)(游戲公司)的情況下搭建的,今天突然被一技術(shù)官問,如何在線添加主從,回答的大概思路,但是沒有實(shí)踐過,下面,我就測(cè)試一下。各位也可以先想想自己的思路:mysql 5.1版本,二進(jìn)制日志文件(時(shí)間長(zhǎng)了,有些二進(jìn)制日志定期清除了),pos號(hào)

注:在mysql 5.6版本中,已經(jīng)有基于GTID的主從復(fù)制(即:不需要知道日志文件和position號(hào)),只需還原最新的備份就可實(shí)現(xiàn),,這里只討論mysql 5.1

一.目前的基本環(huán)境:

主DB:192.168.1.101

從DB1:192.168.1.102

從DB2:192.168.1.103(準(zhǔn)備在線添加做為從機(jī)的mysql數(shù)據(jù)庫)

數(shù)據(jù)庫版本:mysql 5.1.61(select version())

服務(wù)器版本:red hat linux 6

注:目前主從正常(show slave status\G),同步的數(shù)據(jù)庫為 login

3臺(tái)DB server的備份軟件(xtrbackup)都已經(jīng)安裝完成

同步的表為innodb引擎的表,不然用xtrabackup還是會(huì)鎖表

假設(shè)環(huán)境為:現(xiàn)在login庫下的表a,備份的時(shí)候插入數(shù)據(jù),最終行為5418272

注:思路是備份,可是用mysqldump備份會(huì)鎖表,如果數(shù)據(jù)量很大的話,線上環(huán)境肯定不允許使用mysqldump備份

所以,我們采用的xtrabackup來進(jìn)行在線熱備,至于,它的原理,請(qǐng)各位自行g(shù)oogle

二.部署實(shí)例:

1.主DB,線上數(shù)據(jù)正常寫入的同時(shí)我實(shí)施備份

mysql> insert into a select * from a; [root@client101 backup]# innobackupex --user=root --password=kongzhong --defaults-file=/etc/my.cnf --port=3306 --database=login /tmp/backup/ >/tmp/backup/innoback.log 2>&1 # 備份完成后,可以查看備份文件目錄下, xtrabackup_binlog_info 此文件會(huì)記錄主上的日志和position號(hào) [root@client101 2014-02-22_07-43-36]# cat xtrabackup_binlog_info

2.將備份文件壓縮,并傳送到從DB2(192.168.1.103)上,用于在上面進(jìn)行還原

[root@client101 backup]# tar zcvf login.tar 2014-02-22_07-43-36 [root@client101 backup]# scp login.tar 192.168.1.103:/tmp/

3.從DB2上,解壓剛才的備份,并用于恢復(fù)

[root@client103 tmp]# tar -xf login.tar # 應(yīng)用日志,保證數(shù)據(jù)一致 [root@client103 tmp]# innobackupex --apply-log /tmp/2014-02-22_07-43-36/ # 停mysql [root@client103 mysql]# /etc/init.d/mysqld stop # mysql數(shù)據(jù)目錄下的所有文件移到/tmp/mysqlbackup/下,不然,恢復(fù)有問題 # [這里建議只復(fù)制數(shù)據(jù)文件,不建議復(fù)制(日志,索引,innodb共享表空間,innodb日志文件,慢日志等)] [root@client103 mysql]# mv /var/lib/mysql/* /tmp/mysqlback # 恢復(fù)數(shù)據(jù) [root@client103 mysql]# innobackupex --copy-back /tmp/2014-02-22_07-43-36/ # 將原數(shù)據(jù)庫的內(nèi)容復(fù)制mysql數(shù)據(jù)目錄(這里就是我認(rèn)為這個(gè)軟件不好的地方,大家也可以給點(diǎn)建議) [root@client103 mysqlback]# mv /tmp/mysqlbac k/* /var/lib/mysql/ # 將數(shù)據(jù)目錄的權(quán)限修改為mysql權(quán)限 [root@client103 mysql]# chown mysql. /var/lib/mysql/ # 啟動(dòng)數(shù)據(jù)庫 [root@client103 mysql]# /etc/init.d/mysqld start # 驗(yàn)證數(shù)據(jù)的一致性:5418272(主上的行) mysql> select count(*) from a; +----------+ | count(*) | +----------+ | 5418272 | +----------+

4.將從DB2的主機(jī)指向主DB1

# 剛才回復(fù)后,會(huì)有個(gè)文件:xtrabackup_binlog_pos_innodb --> 此文件記錄了備份時(shí)日志文件和pos號(hào) [root@client103 mysql]# cat xtrabackup_binlog_pos_innodb /var/lib/mysql/mysql-101-bin.000008 2423 # 建立主從關(guān)系 mysql> change master to master_host='192.168.1.101', -> master_user='slave', -> master_password='slave', -> master_log_file='mysql-101-bin.000008', -> master_log_pos=2423; # 開啟同步 mysql> start slave; # 查看同步狀態(tài) mysql> show slave status\G;

5.此時(shí)如果都為yes,則主從則建立完畢!大家可自行測(cè)試

注:

還有一種方式在線添加主從,即原本的從機(jī)只做冗余,可以在從機(jī)暫時(shí)停止主從,

然后,在從機(jī)上執(zhí)行備份,看當(dāng)前從機(jī)上,日志執(zhí)行到哪個(gè)文件,哪個(gè)位置(master的日志文件和pos號(hào))


如果各位對(duì)此文章有異議或有更好的方式,歡迎反饋,大家共同進(jìn)步!

本文出自 “沒有傘的孩子必須努力奔跑” 博客,請(qǐng)務(wù)必保留此出處

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī)

線上mysql數(shù)據(jù)庫不停機(jī)的環(huán)境下,如何添加新的從機(jī):更多博文請(qǐng)關(guān)注:沒有傘的孩子必須努力奔跑(www.xuchanggang.cn)在工作中,主從環(huán)境搭的多了,但是,基本上都是在DBSERVER停機(jī)(游戲公司)的情況下搭建的,今天突 在工作中,主從環(huán)境搭的多了,但是,基本上都是在DB SERVER停機(jī)(游戲公司)的情況下搭
推薦度:
標(biāo)簽: 如何 的情況下 停機(jī)
  • 熱門焦點(diǎn)

最新推薦

猜你喜歡

熱門推薦

專題
Top