无法为MySQL用户设置权限

时间:2009-04-28 07:25:35

标签: mysql permissions mysql-error-1044

我正在尝试使用以下命令为MySQL用户设置权限。

将joomla。*赠送给用户@ localhost;

我尝试了很多版本,但它们都返回了: 错误1044(42000):拒绝用户''@ localhost'访问数据库'joomla2'

这似乎表明用户名“user”没有通过?我已经尝试了上面命令的许多版本,还有其他我需要注意的事项。

PS:我的名字实际上并不是“用户”,以防万一有人提到这是一个保留字或类似内容。

6 个答案:

答案 0 :(得分:3)

尝试查看权限表。例如:

> use mysql;
> select * from db;

这可能会给你一个关于出了什么问题的提示。

您也可以通过指定user@'127.0.0.1'并连接-H 127.0.0.1标志(如果您使用的是mysql cmd行客户端)尝试连接tcp而不是unix socket。

您是否尝试过使用GRANT语句的'IDENTIFIED BY“mypwd”部分指定密码?

答案 1 :(得分:1)

这对我有用:

GRANT ALL PRIVILEGES ON joomla.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

我认为问题在于您没有提供密码。

此外,您使用的用户是否可以向其他用户授予权限?您是以root用户身份还是以普通用户身份连接?

答案 2 :(得分:1)

根据MySQL Ref Manual,我说你错过了上述陈述中的'。

你有没有尝试过:

GRANT ALL ON joomla.* to 'user'@'localhost';

答案 3 :(得分:1)

当您尝试运行此命令时,是否以用户@ localhost身份登录MySQL?

如果是这样,您将无法为自己分配以root用户或其他能够分配权限的用户身份登录时所需的权限。

答案 4 :(得分:0)

谢谢大家。它没有回答这个问题,但是这次我将重新安装mysql并给它一个正确的root用户名和密码。上次我把这些空了。很长的解决方案,但它将解决问题。

答案 5 :(得分:0)

之后你重启了服务器吗?如果没有,您需要发出FLUSH PRIVILEGES