我正在尝试使用以下命令为MySQL用户设置权限。
将joomla。*赠送给用户@ localhost;
我尝试了很多版本,但它们都返回了: 错误1044(42000):拒绝用户''@ localhost'访问数据库'joomla2'
这似乎表明用户名“user”没有通过?我已经尝试了上面命令的许多版本,还有其他我需要注意的事项。
PS:我的名字实际上并不是“用户”,以防万一有人提到这是一个保留字或类似内容。
答案 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)
答案 3 :(得分:1)
当您尝试运行此命令时,是否以用户@ localhost身份登录MySQL?
如果是这样,您将无法为自己分配以root用户或其他能够分配权限的用户身份登录时所需的权限。
答案 4 :(得分:0)
谢谢大家。它没有回答这个问题,但是这次我将重新安装mysql并给它一个正确的root用户名和密码。上次我把这些空了。很长的解决方案,但它将解决问题。
答案 5 :(得分:0)
之后你重启了服务器吗?如果没有,您需要发出FLUSH PRIVILEGES