MySQL登录报错"Access denied for user 'root'@'localhost' (using password: YES)"

时间:2023-03-09 17:38:37
MySQL登录报错"Access denied for user 'root'@'localhost' (using password: YES)"

最近登录MySQL时候总报错:

# mysql -uroot -p
  Enter password:
  ERROR (): Access denied for user 'root'@'localhost' (using password: YES)

我猜想是不是密码忘记了。。。然后准备修改密码:

#mysqladmin -u root -p password 123456     ###设置root密码为123456
  Enter password:
  mysqladmin: connect to server at 'localhost' failed
  error: 'Access denied for user 'root'@'localhost' (using password: YES)'

依然报这个错误。。。百度一下,最终找到了方法如下:

---------------------------

mysqladmin -u root -p password 123456有时候是好使的。。。

---------------------------

方法一:

# /etc/init.d/mysqld stop 

# mysqld_safe --user=mysql --skip-grant-tables --skip-networking & 

# mysql -u root mysql 

  mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 

  mysql> FLUSH PRIVILEGES; 

  mysql> quit 

# /etc/init.d/mysqld restart 

# mysql -uroot -p 

  Enter password: <输入新设的密码newpassword> 

  mysql> 

方法二:

直接使用/etc/mysql/debian.cnf文件中[client]节提供的用户名和密码:

# mysql -udebian-sys-maint -p 

  Enter password: <输入[client]节的密码> 

  mysql> UPDATE user SET Password=PASSWORD(’newpassword’) where USER=’root’; 

  mysql> FLUSH PRIVILEGES; 

  mysql> quit 

# mysql -uroot -p 

  Enter password: <输入新设的密码newpassword> 

  mysql>