溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL中關(guān)于主從同步時(shí)應(yīng)該注意的問(wèn)題有哪些

發(fā)布時(shí)間:2021-09-28 14:10:11 來(lái)源:億速云 閱讀:136 作者:柒染 欄目:MySQL數(shù)據(jù)庫(kù)

MySQL中關(guān)于主從同步時(shí)應(yīng)該注意的問(wèn)題有哪些,相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

在我門(mén)準(zhǔn)備好了兩臺(tái)數(shù)據(jù)庫(kù)服務(wù)器的基礎(chǔ)上
1、須在主、從服務(wù)器配置文件 /etc/my.cnf指定
server_id  (任意,建議指定不易混淆,有規(guī)律,有邏輯的)
binlog日志(一般不指定時(shí)日志名稱(chēng)默認(rèn)為主機(jī)名-bin.00000x)
binlog-format="mixed" (指定日志格式,一般為混合格式“mixed”,根據(jù)需求而定)
注意: 如果以上沒(méi)有指定,都會(huì)報(bào)錯(cuò)錯(cuò);
2、在主庫(kù)上面授權(quán):允許用戶對(duì)主庫(kù)有復(fù)制權(quán)限 (replication:復(fù)制)
grant replication slave on . to  用戶名@"服務(wù)器地址" identified by "密碼";
必須要授權(quán)(從庫(kù)無(wú)法指定主庫(kù)并復(fù)制)
3指定組服務(wù)器:(缺一不可)
登錄數(shù)據(jù)庫(kù)
change master to master_host="主服務(wù)器地址"
master_user=“主庫(kù)上的授權(quán)用戶“
master_password="授權(quán)賬戶密碼“
master_log_file= "  主服務(wù)器binlog日志名稱(chēng)“
master_log_pos=”binlog日志偏移量”
最后啟動(dòng)主從復(fù)制start slave
查看重服務(wù)器狀態(tài)
Slave_IO_Running: (負(fù)責(zé)與主機(jī)的io通信)
Slave_SQL_Running: (負(fù)責(zé)自己的slave 數(shù)據(jù)庫(kù)進(jìn)程)
如果不出問(wèn)題的話,主從同步就部署成功了,

但是這世界并不太平,如果IO線程啟動(dòng)失敗
以下是我遇到的問(wèn)題:
1、主服務(wù)器的防火墻沒(méi)關(guān),導(dǎo)致從服務(wù)器同步失敗
解決方案:關(guān)閉防火墻;
2、主從服務(wù)器數(shù)據(jù)庫(kù)中數(shù)據(jù)不一致,(部署主從服務(wù)時(shí))
先將不同的部分備份到對(duì)方的數(shù)據(jù)庫(kù)中保證數(shù)據(jù)的一致
(不建議刪庫(kù)刪庫(kù)刪表)
3、binlog日志偏移量不對(duì),從服務(wù)器找不到同步節(jié)點(diǎn)
打開(kāi)主服務(wù)器binlog日志文件,找到數(shù)據(jù)偏移量,重新指定就可以了。
如果是SQL線程啟動(dòng)失?。?br/>我碰到的情況如下:
1、Last_SQL_Error: Error 'Operation DROP USER failed for 'yy'@'192.168.4.10'' on query. Default database: 'alldb'. Query: 'drop user yy@192.168.4.10'
就是沒(méi)有同步之前的的主庫(kù)授權(quán)用戶,在部署完之后發(fā)現(xiàn)從庫(kù)上沒(méi)有之前主庫(kù)上的授權(quán)用戶,然后我撤銷(xiāo)了,從庫(kù)的SQL線程就斷了,所以要謹(jǐn)慎操作。
解決辦法:一般都不是刪除、撤銷(xiāo)、當(dāng)然就是在從庫(kù)上做同樣的授權(quán)。
2、Slave failed to initialize relay log info structure from the repository
當(dāng)出現(xiàn)這種報(bào)錯(cuò)時(shí):一般原因是默認(rèn)中繼日志relay_log被服務(wù)器上另一個(gè)mysql slave占用了;
解決方案:1、初始化中繼日志, 即刪除relay-log.info中繼日志文件
2、在配置文件/etc/my.cnf 中指定中繼日志名稱(chēng)
3、當(dāng)配置高可用集群時(shí),SQL線程啟動(dòng)失敗報(bào)錯(cuò)如下
Master command COM_REGISTER_SLAVE failed: Access denied for user 'monitor'@'%' (using password: YES) (Errno: 1045)
當(dāng)出現(xiàn)這種報(bào)錯(cuò)時(shí):
1主服務(wù)器的級(jí)聯(lián)復(fù)制功能未開(kāi)啟
解決方案:在配置文件中l(wèi)og_slave_updates # 允許級(jí)聯(lián)復(fù)制,重起服務(wù),還有是主庫(kù)必須添加授權(quán)用戶。
2還有就是刪除授權(quán)用戶,(不建議)。
綜上所述:部署主從同步時(shí)對(duì)數(shù)據(jù)庫(kù)服務(wù)器具有高度的統(tǒng)一性。

看完上述內(nèi)容,你們掌握MySQL中關(guān)于主從同步時(shí)應(yīng)該注意的問(wèn)題有哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI