0

我的 root 用户具有以下权限:

mysql> SHOW GRANTS FOR root@'%';
+--------------------------------------------------------------------------------------------------------------+
| Grants for root@%                                                                                            |
+--------------------------------------------------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
| GRANT ALL PRIVILEGES ON `bedrock`.* TO 'root'@'%'                                                            |
+--------------------------------------------------------------------------------------------------------------+

当我尝试执行以下命令时,我收到以下错误消息:

mysqladmin root -pSOMEPASSWORD
mysqladmin: connect to server at 'localhost' failed
error: 'Access denied for user 'root'@'localhost' (using password: YES)'

虽然我能够正常执行 mysql 命令,但我无法对 mysqld 执行此操作。有什么问题?谢谢。

4

3 回答 3

2
  1. 您的数据库中可能有一个没有密码的用户。 以安全模式启动 mysql,然后检查以确保您的用户都没有空密码字段。如果找到,请添加密码或删除用户。
  2. 可能是密码不正确,需要修改
于 2012-09-05T21:29:55.003 回答
0

对于知识库的改进:问题出在权限和命令上。它在调用时bin/mysqld_safe --user=mysql有效mysqladmin root -pSOMEPASSWORD。请注意,用户mysql已经通过 chown -R 和 chgrp -R 获得了权限。

于 2012-09-10T18:11:12.663 回答
0

试试这个:

$ mysqladmin -u root -p password yourChosenPassword
Enter password: 

并在提示符处重新输入您选择的相同密码,然后您将能够从命令行调用 mysqladmin:

$ mysqladmin -uroot -pyourChosenPassword [OPTIONS] command command....
于 2015-04-29T08:09:37.127 回答