【问题标题】:ERROR 1044 (42000): Access denied for userERROR 1044 (42000): 拒绝用户访问
【发布时间】:2016-04-06 17:03:12
【问题描述】:

我在 MySQL 中创建了一个带有密码的新用户。

mysql> GRANT ALL PRIVILEGES ON simple_cms_development.*
    -> TO 'simple_cms'@'localhost'
    -> IDENTIFIED BY 'xxxxxxx';
Query OK, 0 rows affected (0.04 sec)

我检查了它是否已创建:

mysql> SHOW GRANTS FOR 'simple_cms'@'localhost';
+-------------------------------------------------------------------------------------------------------------------+
| Grants for simple_cms@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'simple_cms'@'localhost' IDENTIFIED BY PASSWORD '*CA931C969BFB20B345B153F9AE0B3EBC543B48EF' |
| GRANT ALL PRIVILEGES ON `simple_cms_development`.* TO 'simple_cms'@'localhost'                                    |
+-------------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

我尝试以该用户身份登录并收到 1044 错误:

 Macintosh-2:simple_cms kmcrayton7$ mysql -u simple_cms -p simple_csm_development;
    Enter password: 
    ERROR 1044 (42000): Access denied for user 'simple_cms'@'localhost' to database 'simple_csm_development'

按照回答#1 and #6中的步骤,结果如下:

mysql> select user,host,password from mysql.user;
+------------+-----------+-------------------------------------------+
| user       | host      | password                                  |
+------------+-----------+-------------------------------------------+
| root       | localhost | *986BD1453A6B2F3CCF85DC695B981EE516B7613D |
| root       | macintosh | *986BD1453A6B2F3CCF85DC695B981EE516B7613D |
| root       | 127.0.0.1 | *986BD1453A6B2F3CCF85DC695B981EE516B7613D |
| root       | ::1       | *986BD1453A6B2F3CCF85DC695B981EE516B7613D |
|            | localhost |                                           |
|            | macintosh |                                           |
| simple_csm | localhost | *CA931C969BFB20B345B153F9AE0B3EBC543B48EF |
| simple_cms | localhost | *CA931C969BFB20B345B153F9AE0B3EBC543B48EF |
+------------+-----------+-------------------------------------------+
8 rows in set (0.04 sec)

mysql> exit
Bye
Macintosh-2:simple_cms kmcrayton7$ mysql -u simple_cms -p simple_csm_development;
Enter password: 
ERROR 1044 (42000): Access denied for user 'simple_cms'@'localhost' to database 'simple_csm_development'


  [1]: https://stackoverflow.com/questions/489119/mysql-error-1045-access-denied

我不知道我在哪里犯错误

我试图遵循以下建议,但现在我似乎根本无法访问:

Macintosh-2:simple_cms kmcrayton7$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Macintosh-2:simple_cms kmcrayton7$ mysql -u root -p
Enter password: 
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
Macintosh-2:simple_cms kmcrayton7$ 

【问题讨论】:

  • 你在本地主机上吗?
  • 我不明白你的问题。在学习这个 Rails 教程时,我一直在浏览器中使用 localhost:3000。

标签: mysql


【解决方案1】:

我遇到了同样的问题,它解决了:

GRANT ALL PRIVILEGES ON DBName.* TO 'UserName'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;

【讨论】:

    【解决方案2】:

    您的用户没有访问 simple_csm_development 数据库的权限。您需要使用授权语法来授予权限:

    授予 priv_type [(column_list)] [, priv_type [(column_list)]] ... ON [object_type] priv_level TO user_specification [, user_specification] ... [要求{无| ssl_option [[AND] ssl_option] ...}] [有{授予选项|资源选项} ...]

    在 user_specification 上授予代理 TO user_specification [, user_specification] ... [有授权选项]

    对象类型:{ 表 |功能 |程序}

    priv_level: { * | . | db_name.* | db_name.tbl_name | tbl_name | db_name.routine_name }

    用户规格: 用户 [ auth_option ]

    auth_option: { # MySQL 5.7.6 之前 由'auth_string'识别|由密码“hash_string”识别 |用 auth_plugin 识别 |标识为 auth_plugin AS 'hash_string' }

    auth_option: { # 从 MySQL 5.7.6 开始 由'auth_string'识别|由密码“hash_string”识别 |用 auth_plugin 识别 |标识为 auth_plugin BY 'auth_string' |用 auth_plugin 标识为 '哈希字符串' }

    ssl_option: { SSL | X509 |密码'密码' | ISSUER '发行人' | SUBJECT '主题' }

    resource_option: { | MAX_QUERIES_PER_HOUR 计数 | MAX_UPDATES_PER_HOUR 计数 | MAX_CONNECTIONS_PER_HOUR 计数 | MAX_USER_CONNECTIONS 个 }

    Source.

    【讨论】:

    • 我愿意,但现在我完全可以访问了
    • @Kim,你有数据库的备份吗?是否有其他用户有权访问数据库?
    【解决方案3】:

    老实说,我不知道发生了什么变化,但是当我再次完成所有步骤时,它起作用了。我确定我这边有错误,但我现在找不到。谢谢!

    【讨论】:

      猜你喜欢
      • 2019-08-23
      • 2013-12-24
      • 2021-07-26
      • 2014-03-16
      • 1970-01-01
      • 2012-02-08
      • 2015-07-18
      • 2018-04-20
      相关资源
      最近更新 更多