1. root登录
  2. killall mysqld

  3. mysqld_safe –skip-grant-tables

  4. USE mysql;

  5. UPDATE user SET password=PASSWORD(‘new_password’) WHERE user=’root’;

  6. FLUSH PRIVILEGES;

  7. EXIT;

  8. kill mysqld

  9. mysqld

第1步搞到权限,第2步结束当前MySQL Server进程,第3步以安全模式启动MySQL Server并指示用户登录时跳过授权表检查,第4,5,6步重设mysql表中的密码值并刷新MySQL Server的授权表,第7步退出,第8,9步重启MySQL Server。此时用新密码new_password即可登录。

PS. 重设密码有3种方式

  1. 如上文4,5,6所述
  2. SET PASSWORD FOR root@localhost=PASSWORD(‘new_password’);

  3. mysqladmin -u root -p old_password password new_password (这种方法需要原密码……)