96SEO 2026-02-19 11:33 11
用户提出了“手工构建MGR碰到的次节点一直处于recovering状态”经过排查后发现了是因为新密码验证插件caching_sha2_password导致的从节点一直无法连接主节点帖子地址(https://greatsql.cn/thread-420-2-1.html)

采用的是单机多实例的部署方式如何部署单机多实例可以前往(https://gitee.com/GreatSQL/GreatSQL-Manual/blob/master/6-oper-guide/6-6-multi-instances.md)
IP端口角色172.17.139.773306mgr01172.17.139.773307mgr02
loose-group_replication_group_name
aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaa1
loose-group_replication_group_seeds
172.17.139.77:33061,172.17.139.77:33071
loose-group_replication_start_on_boot
loose-group_replication_bootstrap_group
loose-group_replication_exit_state_action
loose-group_replication_flow_control_mode
loose-group_replication_single_primary_mode
loose-group_replication_communication_max_message_size
loose-group_replication_transaction_size_limit
loose-group_replication_arbitrator
loose-group_replication_single_primary_fast_mode
loose-group_replication_request_time_threshold
socket/data/GreatSQL/mgr01/mysql.sock
log-error/data/GreatSQL/mgr01/error.log
loose-group_replication_local_address
socket/data/GreatSQL/mgr02/mysql.sock
log-error/data/GreatSQL/mgr02/error.log
loose-group_replication_local_address
/data/GreatSQL/mgr01/mysql.sock
/data/GreatSQL/mgr02/mysql.sock
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
-----------------------------------------------------------------------------------------------
深入浅出MGR(https://gitee.com/GreatSQL/GreatSQL-Doc/blob/master/deep-dive-mgr/deep-dive-mgr-03.md)
特别注意下面因为8.0.4版本开始使用的默认是“caching_sha2_password”所以这样创建会采用最新的身份认证插件
group_replication_bootstrap_groupON;greatsql
performance_schema.replication_group_members\G
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
2920447e-35bf-11ee-89a5-00163e566da1MEMBER_HOST:
此时创建的用户采用的都是caching_sha2_password身份认证插件
-----------------------------------------
-----------------------------------------
-----------------------------------------
performance_schema.replication_group_members\G
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
2920447e-35bf-11ee-89a5-00163e566da1MEMBER_HOST:
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
2a4f068b-35bf-11ee-9504-00163e566da1MEMBER_HOST:
此时节点一直处于RECOVERING状态查看mgr02实例的错误日志如下
performance_schema.replication_group_members
performance_schema.replication_connection_status
引入的一个新的身份验证插件caching_sha2_password
对密码安全性要求更高要求用户认证过程中在网络传输的密码是加密的所以导致的这个问题的出现caching_sha2_password的介绍可以看社区文章“浅谈
caching_sha2_password【微信导入、微信导入】”
旧的身份验证插件mysql_native_passwordmysql_native_password的特点是不需要加密的连接。
该插件验证速度特别快但是不够安全只需要更改创建用户的语句
2、启用group_replication_recovery_get_public_key
group_replication_recovery_get_public_keyON
可以确保从节点在连接到主节点时能够获取所需的公钥从而允许安全连接并成功进行身份验证避免了连接错误和身份验证问题。
group_replication_recovery_public_key_path
group_replication_recovery_get_public_keyON
group_replication_recovery_get_public_keyON
可以看到当确认环境安全以及没人任何人攻击集群时如果不配置ssl可以最低配置group_replication_recovery_get_public_keyON来在请求复制用户密钥时给公钥
更安全的方法是将repl用户所需的公钥文件复制到joiner节点的Server所在主机中。
然后在joiner节点的Server中配置group_replication_recovery_public_key_path系统变量指定rpl_user用户所需的公钥文件路径。
private_key.pemRSA私钥public_key.pem
group_replication_ssl_modeDISABLED
group_replication_recovery_get_public_key
公钥group_replication_recovery_public_key_path
#开启use_ssl指定组成员之间的组复制分布式恢复连接是否应使用
loose-group_replication_recovery_use_sslON
此时就可以使用“caching_sha2_password”身份认证插件
group_replication_bootstrap_groupON;
performance_schema.replication_group_members\G
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
35b653d2-3658-11ee-93c9-00163e566da1MEMBER_HOST:
启动成功后需要把MGR01节点的RSA公钥拷贝到MGR02节点上,因为MGR02也会生成此公钥所以最好创建一个文件夹
/data/GreatSQL/mgr01/public_key.pem
/data/GreatSQL/mgr02/mgr01_key/
group_replication_recovery_public_key_path
/data/GreatSQL/mgr02/mgr01key/public_key.pem;greatsql
performance_schema.replication_group_members\G
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
35b653d2-3658-11ee-93c9-00163e566da1MEMBER_HOST:
***************************CHANNEL_NAME:
group_replication_applierMEMBER_ID:
aa031fb9-365a-11ee-9925-00163e566da1MEMBER_HOST:
可以看到双节点ONLINE新加入的节点不会一直是RECOVERING状态
新身份验证插件caching_sha2_password安全度相比其他的身份验证插件既解决安全性问题又解决性能问题建议使用新密码验证插件。
也感谢社区用户指出GreatSQL社区文档中的不足并给予用户金币奖励同时欢迎大家来GreatSQL社区捉虫~
GreatSQL是适用于金融级应用的国内自主开源数据库具备高性能、高可靠、高易用性、高安全等多个核心特性可以作为MySQL或Percona
Server的可选替换用于线上生产环境且完全免费并兼容MySQL或Percona
https://greatsql.cn/thread-54-1-1.html
https://greatsql.cn/thread-100-1-1.html
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback