配置Mysql Group Replication遇到的問題筆記
阿新 • • 發佈:2019-02-09
一
在配置第一臺伺服器
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相同,導致兩臺伺服器無法找到對方。