1

我有一个安装脚本,它设置了一个 MySQL 用户 + 数据库 + 一些表。它在 mysql 5.0 中运行良好,但我们最近升级到了 mysql 5.5 附带的 Ubuntu 12.04。但是在 mysql 5.5 中我遇到了错误。

该问题似乎与添加用户有关。我使用这样的一行来创建一个 root 用户,稍后用于登录并设置其余的东西:

INSERT INTO mysql.user VALUES('%','myrootuser','','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y',
'Y','Y','','','','',0,0,0,0,'','');
flush privileges;

命令成功。但是,当使用这个新的“myrootuser”登录时,用户似乎没有足够的权限:

jeroen@jeroen-ubuntu:~$ mysql -u myrootuser -e 'select * from mysql.user;'
ERROR 1142 (42000) at line 1: SELECT command denied to user ''@'localhost' for table 'user'

我还注意到我可以使用不存在的用户名登录,这可能会混淆真正的问题:

ubuntu@myserver:~$ mysql -u thisuserdoesnotexist
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.5.22-0ubuntu1 (Ubuntu)

mysql>

5.5 中的 MySQL 身份验证是否有一些我不知道的变化?

4

1 回答 1

0

对于用户创建问题,尝试使用phpMyAdmin添加。PMA 比 SQL 查询好!

对于您的登录问题,删除*用户列表中的用户(使用 PMA)。它将解决您的问题!我遇到了同样的问题,我这样做是为了解决它。

于 2012-05-02T21:47:14.893 回答