与 Amazon RDS MySQL 实例的连接失败,并显示“init_connect 命令失败”

sud*_*ned 3 mysql mariadb

我正在尝试打开从 Amazon RDS 实例到本地开发计算机的连接。我将我的 IP 添加到 Amazon 面板的安全策略中(阅读:将自己列入防火墙白名单),并在 MySQL 中添加我的用户:

grant usage on bar.* to foo@0.0.0.0 identified by "foobar";
grant all privileges on bar.* to foo@0.0.0.0;
Run Code Online (Sandbox Code Playgroud)

假设这0.0.0.0实际上是我的IP。

然后我尝试通过命令行 MySQL 客户端进行连接:

[wk@batman ~]$ mysql --host=1.1.1.1 --user=foo -p 输入密码:欢迎使用 MariaDB 监视器。命令以 ; 结尾 或\g。您的 MySQL 连接 ID 是 66287753 服务器版本:5.6.17-log

版权所有 (c) 2000、2014,Oracle、SkySQL Ab 等。

输入“帮助”;或“\h”寻求帮助。键入“\c”以清除当前输入语句。

MySQL [(none)]> show databases;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    66287829
Current database: *** NONE ***

ERROR 1184 (08S01): Aborted connection 66287829 to db: 'unconnected' user: 'foo' host: 0.0.0.0 (init_connect command failed)
Run Code Online (Sandbox Code Playgroud)

我不确定是什么导致了这个错误 - 我在 Google 上找到的结果与数据库复制有关。有谁知道出了什么问题吗?

小智 5

这是因为用户没有全局执行授予权限,要修复它

GRANT EXECUTE ON *.* TO user_name;
Run Code Online (Sandbox Code Playgroud)