日期:2014-05-16  浏览次数:20827 次

如何解决MySQL忘记root密码

要修改MySQL的root密码,有两个先决条件:?

  • 有修改MySQL配置文件的权限
  • 有重启MySQL服务的权限


先修改配置文件:?

引用

# vim /etc/my.cnf?

[mysqld]?
datadir=/var/lib/mysql?
socket=/var/lib/mysql/mysql.sock?
user=mysql?
# Default to using old password format for compatibility with mysql 3.x?
# clients (those using the mysqlclient10 compatibility package).?
old_passwords=1?

# Disabling symbolic-links is recommended to prevent assorted security risks;?
# to do so, uncomment this line:?
# symbolic-links=0?

[mysqld_safe]?
log-error=/var/log/mysqld.log?
pid-file=/var/run/mysqld/mysqld.pid



[mysqld]下增加skip-grant-tables,即跳过权限验证。?

然后登录MySQL,修改root密码:?

引用
mysql> use mysql;?
Reading table information for completion of table and column names?
You can turn off this feature to get a quicker startup with -A?

Database changed?
mysql> update user SET Password = password('<Your Password>') where user='root';?
Query OK, 3 rows affected (0.00 sec)?
Rows matched: 3? Changed: 3? Warnings: 0?

mysql> flush privileges ;?
Query OK, 0 rows affected (0.00 sec)?

mysql> quit?
Bye?



然后把刚才修改的配置文件再改回来,最后重启服务:?

引用

# service mysqld restart?
停止 MySQL:?????????????????????????????????????????????? [确定]?
启动 MySQL:?????????????????????????????????????????????? [确定]?


呵呵,解决Mysql忘记密码就这么简单。
PS:更果断的办法:?

引用

关闭mysqld?
命令行执行 mysqld --skip-grant-tables & 无密码登陆!?

?