2009-04-28 120 views
0

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

GRANT ALL ON joomla。* to user @ localhost;

我已经尝试了很多版本,但他们全部回归: ERROR 1044(42000):拒绝访问用户“” @“localhost”的数据库“joomla2”

这似乎表明,用户名“用户“没有得到通过?我已经尝试过很多版本的命令,还有什么我需要注意的。

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

+0

看起来像一个数据库(的Joomla)您授予特权,但是尝试连接到另一个数据库(joomla2)。错字? – 2009-04-28 07:36:33

+0

耶我在这个问题部分错字,想摆脱的2所以它是清洁的,但忘记它会弹出错误味精...感谢 – Ankur 2009-04-28 07:52:01

回答

2

请尝试查看特权表。例如:

> use mysql; 
> select * from db; 

这可能会提示您发生了什么问题。

您也可以尝试通过指定[email protected]'127.0.0.1'并使用-H 127.0.0.1标志(如果使用的是mysql cmd行客户端)连接到tcp而不是unix套接字。

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

1

这工作对我来说:

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

我认为,问题是,你不给密码。

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

+0

YEP还是同样的事情 - 有密码的,我想尽组合,试过你给我的以及只是四倍检查 – Ankur 2009-04-28 07:47:55

1

按照MySQL Ref Manual我说你错过了“在上面的语句。

你尝试:

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

是试了很多次,但是感谢 – Ankur 2009-04-28 07:47:15

1

你登录到MySQL作为用户@本地当您尝试并运行此命令?

如果是这样你将无法自行指定你需要做它,而登录为root用户,或者是谁能够分配权限的其他用户的权限。

+0

我的root用户没有用户名和密码。当我最初登录时,它不要求任何用户名或密码,所以我假设我是root用户,此时 – Ankur 2009-04-28 07:50:03

0

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

0

事后您是否重新启动服务器?如果没有,你需要发出FLUSH PRIVILEGES