暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

关于mysql-8.0连接SSL账号的一些问题

原创 select 2024-02-07
167

作者

马文斌

时间

2024-02-07

标签

mysql SSL maxscale

背景

近期开发反馈有个账号连不上数据库,问什么时候发现连不上的,开发说今天才开始用,好家伙,环境给到开发一个月了,现在才开始使用,申请的时候说急急急,明天就要上线。那咱们看看为啥这个账号会连不上数据库吧。

看下数据库架构图

这里用了代理和中间件,链路有些长

image-20240201095813792

经过分析

1、用应用账号直连数据库是可以连的

2、经过maxscale和haproxy 代理端口登陆是连不上,那基本可以断定是maxscale层出问题了,要么认证没有通过,要么密码错误。

疑问解答

1、如果maxscale配置的账号是带SSL协议认证的,在maxscale层是否需要配置SSL文件秘钥认证?
答:无需配置ssl文件路径因为也没有地方配置,但是如果是其他客户端登陆,则一定要带上SSL认证的路径文件,否则会报连接不上的问题。

2、maxscale 是否支持最新的密码认证插件 caching_sha2_password ?
答: 不支持,支持旧的密码插件 mysql_native_password,所以创建用户的时候需要注意指定用旧的密码插件认证

3、关于maxscale上配置权限的问题,需要哪些权限才不会报错?
答:只需要以下权限即可,无需其他权限。
CREATE USER tmp_user@'192.168.%' IDENTIFIED  WITH mysql_native_password  BY 'xxxx' require x509;
GRANT SELECT, REPLICATION SLAVE, REPLICATION CLIENT,SHOW_ROUTINE,SHOW DATABASES ON *.* TO `tmp_user`@`192.168.%`;

4、SSL账号怎么登陆呢?
答:需要有client的key文件,至少需要2个文件(client-cert.pem,client-key.pem),比如:
mysql -utmp_user -pxxxxxx -h192.168.1.1 --ssl-cert=/tmp/CA_23431/client-cert.pem --ssl-key=/tmp/CA_23431/client-key.pem

作者公众号

01公众号名片.jpg

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论