您好,登錄后才能下訂單哦!
本文主要給大家介紹mysql實(shí)現(xiàn)主從復(fù)制的步驟,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對(duì)性,對(duì)大家的參考意義還是比較大的,下面跟筆者一起了解下mysql實(shí)現(xiàn)主從復(fù)制的步驟吧。
mysql主從原理:
1)至少需要2臺(tái)數(shù)據(jù)庫(kù)云服務(wù)器,一主一從,master開(kāi)啟bin-log功能。(bin-log功能用戶記錄主控增 加、刪除、修改、更新SQL的語(yǔ)句。)
2)異步復(fù)制的過(guò)程,有延遲,毫秒級(jí)別(延遲和你的網(wǎng)絡(luò)和性能、數(shù)據(jù)庫(kù)的量級(jí)有關(guān)),開(kāi)啟3個(gè)線程。分別是master開(kāi)啟io線程,slave開(kāi)啟io線程、sql線程。
3)從庫(kù)啟動(dòng) salve start,通過(guò)io線程、用戶名和密碼去連接master,master接收請(qǐng)求后,master io線程負(fù)責(zé)將bin-log內(nèi)容position位置點(diǎn)數(shù)據(jù)發(fā)給salve端。
4)slave io線程收到數(shù)據(jù)之后,會(huì)將內(nèi)容追加到本地relay-log中繼日志,同時(shí)會(huì)產(chǎn)生master.info文件(這次從哪臺(tái)機(jī)器同步,用戶名、密碼、bin-log文件名、position位置).
5)slave SQL線程實(shí)時(shí)監(jiān)測(cè)relay-log,如果這個(gè)日志內(nèi)容有更新,解析文件中的SQL語(yǔ)句,在本地去執(zhí)行。
實(shí)戰(zhàn):
1)master配置文件中開(kāi)啟bin-log,設(shè)置server-id
2)授權(quán)同步用戶和密碼
3)slave執(zhí)行change master綁定主庫(kù)
192.168.1.155(master)
192.168.1.156(salve)
注:關(guān)掉云服務(wù)器的防火墻和setenforce 0
主庫(kù)配置:
1.在mysql配置文件中加入
log-bin=mysql-bin(開(kāi)啟bin-log)
server-id=1(區(qū)分主從)
2.重啟數(shù)據(jù)庫(kù)
/etc/init.d/mysql restart
3.進(jìn)入數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)新的用戶,并授權(quán)允許同步
create user 'tongbu'@'192.168.1.156' identified by '123456';(創(chuàng)建用戶)
grant replication slave on *.* to 'tongbu'@'192.168.1.156' identified by '123456';(授權(quán)給從庫(kù))
4.查看主庫(kù)狀態(tài)
mysql> show master status;
+------------------+----------+--------------+------------------+-------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000001 | 990 | | | |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.01 sec)
從庫(kù)配置:
5.修改從庫(kù)配置文件
server-id = 2
6.重啟數(shù)據(jù)庫(kù)
/etc/init.d/mysql restart
7.在從云服務(wù)器上指定master IP和同步的pos點(diǎn)
進(jìn)入數(shù)據(jù)庫(kù):
change master to master_host='192.168.1.155' ,master_user='tongbu' ,master_password='123456' ,master_log_file='mysql-bin.000001' ,master_log_pos=990;
注:如果報(bào)錯(cuò)
ERROR 3021 (HY000): This operation cannot be performed with a running slave io thread; run STOP SLAVE IO_THREAD FOR CHANNEL '' first
說(shuō)明slave正在運(yùn)行,stop slave;(關(guān)閉slave)
7.啟動(dòng)slave
start slave;
8.測(cè)試,在主庫(kù)創(chuàng)建一個(gè)數(shù)據(jù)庫(kù),查看從庫(kù)是否同步過(guò)來(lái)。
(本實(shí)驗(yàn)是成功的)
看完以上關(guān)于mysql實(shí)現(xiàn)主從復(fù)制的步驟,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識(shí)信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。