在安装了maxscale的同一台计算机上,连接成功,但是当运行任何查询时,它都显示
ERROR 2013 (HY000): Lost connection to MySQL server during query
日志显示此消息:
maxscale[]: Backend server didn't accept authentication for user
我已经在/etc/maxscale.cnf中设置了以下内容:
[Splitter Service]
enable_root_user=1
localhost_match_wildcard_host=1
操作系统是Ubuntu 16.04.2lts
maxscale版本是2.0.5
最佳答案
通常情况下,当用户在客户端主机上有授权,但在Maxscale主机上没有,或者授权不相同时,就会发生这种情况。
如何检查我的用户授予的匹配项?
要查看您使用的是哪个用户授权,请从MaxScale主机和客户机主机执行以下SQL。
SELECT CURRENT_USER();
这将返回客户端连接用于连接到MaxScale的用户和MaxScale用于连接到数据库本身的用户。
下一步是通过执行以下SQL检查两个用户的授权是否相似。
SHOW GRANTS;
MaxScale有a helper script可用于显示需要创建哪些用户和授权。