远程数据库账户创建成功却无法连接: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 命令引号导致的问题》,希望本文对你有所帮助!关注主机宝贝公众号,给大家分享更多数据库知识!