如何解决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 & 无密码登陆! 

 

你可能感兴趣的:(mysql)