我有一个安装脚本,用于设置MySQL用户+数据库+一些表。它在mysql 5.0中运行良好,但我们最近升级到Ubuntu 12.04,它随mysql 5.5一起提供。但是在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身份验证是否有一些我不知道的变化?
答案 0 :(得分:0)
对于用户创建问题,请尝试使用phpMyAdmin添加它。 PMA优于SQL查询!
对于您的登录问题,请删除用户列表中的用户*
(使用PMA)。它会解决你的问题!我遇到了同样的问题,我这样做是为了解决它。