远程数据库账户创建成功却无法连接: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 命令引号导致的问题的详细内容,更多请关注其它相关文章!