MySQL错误1045,"访问被拒绝用户'用户'@'localhost'(使用密码:是)"

Car*_*zón 5 mysql mysql-error-1045

这个问题似乎被问了很多但是我找不到明确的答案.

我正在使用MySQL进行一些webapp测试,最初我使用了'root'用户(使用非空密码).我的root用户可以从应用程序(从PHP和Python的Django测试),命令行和PHPMyAdmin中正常工作.

但是我不想使用root用户,因此我创建了另一个用户,并且我将所有权限授予用户应该需要的数据库.(我使用PHPMyAdmin记录为'root'来执行此任务).

新用户无法登录MySQL.既不是来自Django app,也不是PHPMyAdmin,也不是命令行.

我有两个可能的怀疑:

  1. 用户缺乏全局特权.(正如我所说的,我授予了所有数据库权限,但是我没有授予任何全局权限);

  2. 用户配置的主机.('root'mysql.user表中有四行,主机'localhost','my-pc-name','127.0.0.1'':: 1' ;而新用户有一行主机' %')

(我已经仔细检查了密码,所以我确信这不是密码问题.)

joh*_*ras 5

%表示新用户可以从任何主机访问数据库.

但是,如果您提供CREATE USER语句会更有用.

另外,请查看下面的MySQL手册,其中解释了为什么用户应该同时拥有@'localhost'@'%':

MySQL参考手册 - 添加用户