0

我正在为客户开发一个项目,我需要创建一个具有特定访问权限的新用户/密码,而不是使用我通常的“root”SQL 密码。我查找了如何做到这一点,发现我应该使用以下内容:

CREATE USER 'AppSrv'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON some_db.* TO 'AppSrv'@'%' WITH GRANT OPTION;

当我运行时,select * from mysql.user;我可以看到用户已添加到表中,但是在使用 PDO 或 PHPMyAdmin 时,我收到一条错误消息:Access denied for user 'AppSrv'@'localhost'

我过去创建用户没有问题,但不知道为什么它现在不起作用。我也尝试重新启动 SQL 服务器,但无济于事。

跑步:

Linux 版本 3.2.0-24-virtual (buildd@crested) (gcc 版本 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5))
MySQL v5.5.28-0ubuntu0.12.04.3 - (Ubuntu)

为我的 SQL Server 创建新用户的可能解决方法是什么?

编辑

我也尝试过使用 PHPMyAdmin 创建用户,即使在尝试登录时也失败了。

4

1 回答 1

1

使用@'localhost' 创建帐户:

CREATE USER 'AppSrv'@'localhost' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON some_db.* TO 'AppSrv'@'localhost' WITH GRANT OPTION;

否则,由 mysql_install_db 创建的 localhost 的匿名用户帐户将优先 - 请参阅 mysql doc添加用户拒绝访问

于 2013-01-03T18:10:19.180 回答