ERROR 1044(42000):拒绝用户访问

时间:2016-01-02 16:42:05

标签: mysql

我在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$ 

3 个答案:

答案 0 :(得分:0)

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

  

GRANT       priv_type [(column_list)]         [,priv_type [(column_list)]] ...       ON [object_type] priv_level       TO user_specification [,user_specification] ...       [要求{无|] ssl_option [[AND] ssl_option] ...}]       [WITH {GRANT OPTION | resource_option} ...]

     

在user_specification上授予代理权       TO user_specification [,user_specification] ...       [WITH GRANT OPTION]

     

object_type:{       表|功能|程序}

     

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

     

user_specification:       用户[auth_option]

     

auth_option:{#在MySQL 5.7.6之前       通过'auth_string'确认由PASSWORD'hash_string'|标识使用auth_plugin进行身份识别通过身份识别   auth_plugin AS'hash_string'}

     

auth_option:{#Asce of MySQL 5.7.6       通过'auth_string'确认由PASSWORD'hash_string'|标识使用auth_plugin进行身份识别通过身份识别   auth_plugin BY'auth_string'|使用auth_plugin AS识别   'hash_string'}

     

ssl_option:{       SSL | X509 | CIPHER'cipher'| ISSUER'发行人'|主题'主题'}

     

resource_option:{| MAX_QUERIES_PER_HOUR计数|   MAX_UPDATES_PER_HOUR次数| MAX_CONNECTIONS_PER_HOUR计数|   MAX_USER_CONNECTIONS count}

Source

答案 1 :(得分:0)

老实说,我不知道发生了什么变化,但当我再次完成所有步骤时,它确实有效。我确定我的结果有误,但我现在找不到它。谢谢!

答案 2 :(得分:0)

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

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