服务器重启后Mysql无法登陆

报错信息:

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)

问题描述

  • 将远程服务器重启之后,用mysql -u root -p登录不上,用mysql -u root可以登录,但是只有information_schematest两个表?

解决方法

  1. cd /etc/init.d/ 进入该目录下,执行service mysqld stop,停止MySQL服务。

  2. mysqld_safe --user=mysql --skip-grant-tables 切换到安全模式

  3. mysql -u root登录show databases;查看表,就有mysql
  4. 通过sql语言更改mysql.user中的值select user,host,password from mysql.user

  5. ps -A | grep mysql查看mysql进程

  6. kill -9 PID1 PIS 2杀掉mysql进程

  7. /etc/init.d/service mysqld start正常启动mysql

  8. mysql -u root -p 登录Mysql