1. 程式人生 > >配置Mysql Group Replication遇到的問題筆記

配置Mysql Group Replication遇到的問題筆記

在配置第一臺伺服器

START GROUP_REPLICATION;

後出現以下問題:

ERROR 3092 (HY000): The server is not configured properly to be an active member of the group. Please see more details on error log.

發現,本機無法ping通,修改/etc/sysconfig/network-scripts/ifcfg-eth0(eth0為你上網用的網絡卡),設定好本機ip、子網掩碼、閘道器,之後重啟network就行

二、第二臺伺服器一直處於RECOVERING狀態

這個問題可能比較複雜

情況1:

防火牆和selinux沒關,這是小問題,關掉就行

情況2:

兩臺伺服器主機名相同,mysql無法通過DNS找到對應伺服器。

解決方法:
在my.cnf檔案中設定

report-host=192.168.50.22 #後面跟的ip是本機的ip

或者取消掉mysql通過DNS查詢伺服器的策略,當然,也可以修改hosts檔案,方法網上可以找到的。當然,最好是設定report-host。
還有server_id每臺伺服器一定要不同

情況3:

檢視mysql日誌,發現兩臺伺服器直接一直在嘗試連線,一直連線不上。嘗試10次之後,變成ERROR狀態

VM Ware的鍋,概率不高。

然後我運氣不好,碰到了,折磨了我一個星期,網上根本找不到解決方法,最後換成VirtualBox就好了,實際生產環境應該不會有這麼坑爹的問題,大概是VM Ware虛擬機器網路通訊機制的問題,猜測可能還有防火牆,同事用VM Ware做成功了,大概是版本問題或者其他的,具體原因查不出來。

我後來在用一個純淨的基本沒有自配的服務的centos映象在VM Ware下裝機,連網絡卡都啟動不來後才猜出來的,然後毅然下了個VirtualBox,重新配,就沒問題了。

初步覺得可能是管理員許可權的原因,VM Ware和Win 10都該背鍋。

如果用虛擬機器模擬組複製,那麼,最好不要直接克隆一臺已經配置好的虛擬機器,至少,不能克隆已經初始化了mysql的虛擬機器,不然會造成兩臺伺服器的MEMBER_ID相同,導致兩臺伺服器無法找到對方。