MySQL8.0.13组复制恢复错误MY-002061
MySQL 8.0.13 Group Replication Recovery Error MY-002061
我有 MySQL 组复制与 3 个服务器。其中一个遇到错误,由于连接到捐赠者服务器时出错,无法在复制列表中恢复其联机状态。
[Repl] Slave I/O for channel 'group_replication_recovery': error
connecting to master 'repl@PRIV_IP_HERE:3306' - retry-time: 60
retries: 1, Error_code: 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
To connect to the server using an account that authenticates with the
caching_sha2_password plugin, you must use either a secure connection
or an unencrypted connection that supports password exchange using an
RSA key pair, as described later in this section.
如果您的网络安全,解决这个问题最方便的方法是创建一个 MYSQL RSA 密钥对:
mysql_ssl_rsa_setup
然后在每台服务器上更新您的 MYSQL 配置以在组复制恢复期间请求捐赠服务器的 public 密钥(而不是存储受信任的 public 密钥的本地副本这需要更多工作,但可以防止 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。
我有 MySQL 组复制与 3 个服务器。其中一个遇到错误,由于连接到捐赠者服务器时出错,无法在复制列表中恢复其联机状态。
[Repl] Slave I/O for channel 'group_replication_recovery': error connecting to master 'repl@PRIV_IP_HERE:3306' - retry-time: 60 retries: 1, Error_code: 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
To connect to the server using an account that authenticates with the caching_sha2_password plugin, you must use either a secure connection or an unencrypted connection that supports password exchange using an RSA key pair, as described later in this section.
如果您的网络安全,解决这个问题最方便的方法是创建一个 MYSQL RSA 密钥对:
mysql_ssl_rsa_setup
然后在每台服务器上更新您的 MYSQL 配置以在组复制恢复期间请求捐赠服务器的 public 密钥(而不是存储受信任的 public 密钥的本地副本这需要更多工作,但可以防止 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。