远程数据库账户创建成功却无法连接:init_connect 命令引号导致的问题

远程数据库账户创建成功却无法连接:init_connect 命令引号导致的问题

创建远程访问数据库账户却无法连接,原因何在?

问题描述:

远程主机上的 root 用户可以访问数据库,但使用以下语句创建的 auser 用户,却无法远程登录。

create user 'auser'@'%' identified by 'auser'; grant all on `mydb`.* to 'auser'@'%'; flush privileges;

navicat 中登录 auser 账户时,会出现 2013 – lost connection to mysql server during query 的提示。

问题分析:

mysql 命令登录 auser 账户后发现,提示 init_connect command failed。在网上查阅后发现,需要修改 /etc/my.cnf 文件,将以下两行的 “ (双引号) 改为 ‘ (单引号)。

init_connect=‘set collation_connection = utf8_unicode_ci’ init_connect=‘set names utf8’

改为:

init_connect='SET collation_connection = utf8_unicode_ci' init_connect='SET NAMES utf8'

后续操作:

完成后重启 mysqld 服务,问题解决。

© 版权声明
THE END
喜欢就支持一下吧
点赞14 分享