【问题标题】:My ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [duplicate]我的错误 1045(28000):用户“root”@“localhost”的访问被拒绝(使用密码:是)[重复]
【发布时间】:2018-08-12 00:25:21
【问题描述】:

当我尝试通过命令连接 MySQL 服务器时:

mysql -u root -p

我收到错误“访问被拒绝”。我确定密码是正确的。

当我使用时

mysqld --defaults-files "xxx\my.ini" --console --skip-grant-tables

选项,我可以访问,但是当我退出时,访问再次被拒绝。

我该如何解决?

【问题讨论】:

    标签: mysql access-denied


    【解决方案1】:

    您可以重置root密码。

    对于 MySQL 5.7.6 及更高版本:

    ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
    

    MySQL 5.7.5 及更早版本:

    SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    

    这可能很危险,请先阅读完整的官方说明:How to Reset the Root Password?

    【讨论】:

    • 我已经知道密码了,但是还是拒绝访问。
    • 尝试使用您已经知道的密码重置密码。
    • 我有mysql Ver 8.0.26 for Linux on x86_64 (MySQL Community Server - GPL),我尝试使用ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';,但我得到ALTER: command not found
    【解决方案2】:

    Try Resetting the Root Password: Generic Instructions

    1. 使用 --skip-grant-tables 选项重新启动 mysql
    2. 在mysql客户端:FLUSH PRIVILEGES;
    3. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

    【讨论】:

    • 我这样做了,但它仍然被拒绝。只是在skip-grant tables选项中,我可以连接服务器。
    猜你喜欢
    • 2014-03-23
    • 2016-09-29
    • 2013-11-28
    • 2017-08-23
    • 2012-08-11
    • 2018-09-16
    • 2017-11-07
    • 1970-01-01
    相关资源
    最近更新 更多