MySQL错误1045:“访问被拒绝的用户‘用户’@‘localhost’的(使用密码:YES)”(

2019-08-22 18:34发布

这个问题似乎是问了很多,但是我无法找到一个明确的答案。

我正在使用MySQL的Web应用程序的一些测试,一开始我用“根”用户(使用非空密码)。 我的根用户从应用程序(从PHP和Python的Django的测试)工作正常,在命令行,并与phpMyAdmin。

不过我并不想用root用户,所以我创建另一个用户,并授予我的所有权限给该用户可能需要的数据库。 (我使用PHPMyAdmin的记录为这个任务“根”)。

新用户无法登录到MySQL。 非从Django应用程序,也不PHPMyAdmin中,也不是命令行。

我有两个可能的疑虑:

  1. 有一个全球性的特权用户缺少。 (正如我所说的,我授予的所有数据库权限,但是我还没有授予的任何全局权限);

  2. 用户配置的主机。 (“根”具有四行在mysql.user表中,对于主机的本地主机',“ 我的-PC-名”,“127.0.0.1”“:: 1”;而新用户具有一个线对主机' %”)

(我有双重检查密码,所以我相信这不是一个密码的问题。)

Answer 1:

%意味着新用户可以从任何主机访问数据库。

但是,如果您提供的CREATE USER语句将更加有用。

此外,检查MySQL手册下面,它解释了为什么用户应该有两个@'localhost'@'%'

MySQL参考手册-添加用户



Answer 2:

重新启动MySQL服务器+“冲水特权;” 命令解决了这个问题对我来说



文章来源: MySQL Error 1045, “Access denied for user 'user'@'localhost' (using password: YES)”