MySqlグループレプリケーションでserver_uuidエラー

Shimer-System開発関連

vagrantでVMを作って、それを2台起動してMySQLグループレプリケーションをやろうとしたらserver_uuidエラーがでたので、それの解決方法についてのメモです。
↓Master DBを起動したあとにSlave DBで「START GROUP_REPLICATION」した際に発生したエラーです。

 [ERROR] [MY-011516] [Repl] Plugin group_replication reported: 'There is already a member with server_uuid 89abf165-aa2c-11ea-9a0e-080027e7a299. The member will now exit the group.'

対応方法

同じVMイメージを使っていたため、MasterとSlaveのserver_uuidが重複してしまっていたのが原因でした。Slave側のauto.cnfのserver_uuidを変更することで解決できました。

$ uuidgen // このコマンドでuuidを生成
$ vi /var/lib/mysql/auto.cnf // uuidを変更

[auto]
server_uuid="a8199102-3c59-4767-a80d-aea3ca8ff999"

$ systemctl restart mysqld // MySQLを再起動してslaveのレプリケーション開始
$ mysql -uroot -proot

SQL> START GROUP_REPLICATION;
SQL> SELECT * FROM performance_schema.replication_group_members;
©2018 LLC Shimer-System.
image/svg+xml