大家在使用RAKsmart过程中可能会出现无法连接 MySQL Plus 的情况,那么如何解决呢?当然可以参考以下排查思路自行检查,也可以直接提工单联系技术支持。
一、排查集群状态
(一)、排查方法
1、登录 AppCenter 集群管理页面,检查目标集群的运行状态是否为活跃。
2、查看集群节点资源状态,检查资源硬盘使用率指标是否已超过85%,硬盘空间已不足。
3、查看实例连接数检查全部连接数等服务指标,并通过查看集群最大连接数,确认连接数是否过满。
–max_connections
指允许同时连接的客户端总数。如果设定值为 default
,表示最大连接数随内存规格变化。
–max_user_connections
指特定 MySQL 账号允许的最大同时连接数。
(二)、可能原因
1、MySQL Plus 系统故障、状态异常,以及集群或表被锁定等。
2、数据库硬盘使用率超过85%后,数据库可能不可用,不能正常执行连接、写入等操作。
3、数据库连接数过满,可能会导致业务侧无法正常连接,也会导致实例全量备份和增量备份失败,影响业务的正常使用。
(三)、解决办法
1、选中目标集群,选择更多操作 > 重启,尝试重启数据库。
2、扩容集群硬盘空间,提升高硬盘可使用空间;删除过期数据;缩短 binlog 本地保留时长;对 CPU 、内存、硬盘等资源指标开启监控告警,及时了解集群资源状态。
3、排查业务连接是否有效,释放空闲连接;设置 default
,并扩容集群内存空间,提高 max_connections
值;对当前线程连接数等服务指标开启监控告警,及时了解集群服务状态。
二、排查连接方式
(一)、排查方法
1、检查已安装 MySQL 客户端版本是否低于集群 MySQL 版本。
2、登录 AppCenter 集群管理页面,检查目标集群是否开启 SSL 加密传输,以及检查用户账号是否开启加密认证。
3、检查连接命令是否正确。
4、在集群账号列表,检查连接用户账号是否正确授权或被删除。
(二)、可能原因
1、MySQL 客户端版本低于集群 MySQL 版本,兼容性问题导致不能正常连接。
2、集群开启 SSL 加密传输后,用户账号未开启加密认证,或未正确上传证书或连接命令不完整。
3、连接命令不正确。
4、用户账号未被授权为%
;用户账号被删除,不支持连接。
(三)、解决办法
1、确认数据库内核版本,重新选择 MySQL 客户端相应版本并安装。
2、同时开启集群 SSL 加密传输和数据库账户加密认证,且需将 SSL 证书上传到服务器。
3、获取正确的连接地址、端口参数配置、用户账号和密码、SSL 证书名等信息,并重试连接实例。
4、修改用户账号授权为%
;重新添加用户账号;获取可连接用户账号和密码。
正确连接方式示例:
- 开启 SSL 加密传输后,通过外网地址连接:
mysql -h <外网地址> -P 3306 -u testuser -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
- 开启 SSL 加密传输后,通过内网地址连接:
mysql -h <外网地址> -P 3306 -u testuser -p --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem
注意
SSL 证书文件需上传到服务器,且需放在执行连接命令的路径下。