远程数据库账户创建成功却无法连接: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 服务,问题解决。

以上就是远程数据库账户创建成功却无法连接:init_connect 命令引号导致的问题的详细内容,更多请关注其它相关文章!