Closed. This question needs details or clarity。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?添加详细信息并通过editing this post阐明问题。
                        
                        2年前关闭。
                                                                                            
                
        
我有3个服务器的MySQL组复制。其中之一遇到错误,并且由于连接到施主服务器的错误而无法在复制列表中恢复其联机状态。


  [Repl]通道'group_replication_recovery'的从站I / O:错误
  连接至主机'repl @ PRIV_IP_HERE:3306'-重试时间:60
  重试次数:1,错误代码:MY-002061


我在所有3台服务器上重新初始化了组复制。在第一台服务器上引导复制列表正常运行,但其他两台服务器均无法成功加入该组(处于RECOVERING状态)。

如何修复此组复制恢复过程?

最佳答案

MY-002061是认证错误。

MySQL要求所有caching_sha2_password(复制用户上的身份验证类型)均受TLS或RSA保护。

https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html


  要使用通过身份验证的帐户连接到服务器
  caching_sha2_password插件,您必须使用安全连接
  或支持使用密码进行密码交换的未加密连接
  RSA密钥对,如本节后面所述。


如果您的网络安全,则解决此问题的最便捷方法是创建MYSQL RSA密钥对:

mysql_ssl_rsa_setup


然后,在组复制恢复期间更新每台服务器上的MYSQL配置,以请求施主服务器的公钥(而不是存储受信任的公钥的本地副本,这虽然工作量较大,但可以防止MITM攻击):

/etc/mysql/my.cnf

...
group_replication_recovery_get_public_key = 1
...


然后重新加载您的MYSQL进程并重新尝试组复制:

sudo /etc/init.d/mysql reload

mysql> START GROUP_REPLICATION;


为我工作,2018-12-07

附加参考:https://www.digitalocean.com/community/tutorials/how-to-configure-mysql-group-replication-on-ubuntu-16-04

10-06 07:36
查看更多