我在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$
答案 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}
答案 1 :(得分:0)
老实说,我不知道发生了什么变化,但当我再次完成所有步骤时,它确实有效。我确定我的结果有误,但我现在找不到它。谢谢!
答案 2 :(得分:0)
我有同样的问题,它解决了:
GRANT ALL PRIVILEGES ON DBName.* TO 'UserName'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;