MySQL创建一个只能远程访问指定数据库的账户,为什么无法连接数据库?
我在远程主机用 root
用户是能访问数据库的。创建用户语句如下:
CREATE USER 'auser'@'%' IDENTIFIED BY 'auser';
GRANT ALL ON `MyDB`.* TO 'auser'@'%';
flush privileges;
这个 auser
账号却不能远程登录,请问这是什么原因导致的?PS. 用 Navicat 登录这个账户提示 2013 - Lost connection to MySQL server during query
回复
1个回答

test
2024-07-20
我在 Linux 中用 mysql
命令登录了这个创建的账户,发现提示: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
服务之后就好了。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容