以下操作需在K8s master节点物理机上操作,逐一登录MGR群组的每个MySQL Pod。
- 登录MySQL。
| kubectl exec -it <pod_name> -n <spaces_name> -- mysql -uroot -p
|
例如:
| kubectl exec -it mysql-1 -n ns-mysql-test -- mysql -uroot -p
kubectl exec -it mysql-2 -n ns-mysql-test -- mysql -uroot -p
kubectl exec -it mysql-3 -n ns-mysql-test -- mysql -uroot -p
|
- 登录MySQL后,在MySQL上创建复制账号。
| SET SQL_LOG_BIN=0;
CREATE USER rpl_user@'%' IDENTIFIED BY '123456';
GRANT REPLICATION SLAVE ON *.* TO rpl_user@'%';
GRANT BACKUP_ADMIN ON *.* TO rpl_user@'%';
FLUSH PRIVILEGES;
SET SQL_LOG_BIN=1;
|
- 设置认证信息。
| CHANGE MASTER TO MASTER_USER='rpl_user', MASTER_PASSWORD='123456' FOR CHANNEL 'group_replication_recovery';
|
- 重启MySQL后MGR生效。
- SET SQL_LOG_BIN=0;表示当前session里的所有操作都不记录到bin_log里。
- MySQL上执行shutdown;后会使MySQL Pod退出并自动部署新的Pod,等效于重启了MySQL。
- 所有MySQL的mysql_arm.cnf及MGR认证信息初始化完成后,需要重启MySQL才可会生效MGR配置。