phpmyadmin 访问被拒绝

phpmyadmin 访问被拒绝

我无法登录 phpmyadmin。它显示以下错误。

错误 1045 (28000):用户“root”@“localhost”的访问被拒绝(使用密码:YES)

我尝试登录运行mysql -u root -p,但它也显示相同的错误。

答案1

请按照以下步骤操作。

  1. --skip-grant-tables使用选项(安全设置)启动 MySQL 服务器实例或守护程序。

    $ mysqld --skip-grant-tables
    
  2. 在新终端上执行这些语句。

    $ mysql -u root mysql
    $mysql> UPDATE user SET Password=PASSWORD('my_password') where USER='root';
    $mysql> FLUSH PRIVILEGES;
    

如果您遇到上面的未知字段密码错误,请使用:

update user set authentication_string=password('my_password') where user='root';
  1. 最后,在没有选项的情况下重新启动实例/守护程序--skip-grant-tables

    $ /etc/init.d/mysql restart
    

您现在应该可以使用新密码进行连接。

$ mysql -u root -p

输入密码:my_password

答案2

MySQL 身份验证是一件“许多精彩的事情”,或者 FUBAR,具体取决于您如何看待它。不同的版本和设置可以使用不同的身份验证方法。 Arzyfex 的建议可能并不总是有效。最好的建议是遵循此处的 MySQL 手册:http://dev.mysql.com/doc/refman/5.7/en/resetting-permissions.html。为了处理各种不同的身份验证格式,mysql希望您使用,但是当服务器启动时使用选项set password for root时,此命令将不起作用!--skip-grant-tables因此,规定的公式是使用包含命令的特殊 init 文件来启动 mysql 服务器set password

相关内容