MySQL密码的恢复方法(一)
1、修改MySQL登录设置:
[root@master ~]# vi /etc/my.cnf# 在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出vi。
2、重启mysqld
[root@master ~]# /etc/init.d/mysqld restart ( service mysqld restart )3 mysql -uroot -p
mysql> use mysql ;
mysql> update user set password = password ( ‘new-password’ ) where user = ‘root’ ; 
# 运行报错则改为 “update mysql.user set authentication_string=password(‘seczone’) where user=’root’;”
3、刷新权限
mysql> flush privileges ;
mysql> quit;
4、恢复MySQL的登录设置
[root@master ~]# vi /etc/my.cnf
#将刚才在[mysqld]的段中加上的skip-grant-tables删除,保存并且退出。
5、重启mysqld
[root@master ~]# /etc/init.d/mysqld restart (service mysqld restart)
# 重新登录成功 ,root用户设置ok。
MySQL密码的恢复方法(二)
有可能你的系统没有 safe_mysqld 程序(比如我现在用的 ubuntu操作系统, apt-get安装的mysql) , 下面方法可以恢复
1、停止mysqld
[root@master ~]# /etc/init.d/mysql stop
# (你可能有其它的方法,总之停止mysqld的运行就可以了)
2、启动MySQL
以不检查权限的方式启动
[root@master ~]# mysqld —skip-grant-tables &
3、空密码方式登录 MySQL
4、修改root用户密码
mysql> update mysql.user set password=password(‘newpassword’) where user=’root’;
mysql> flush privileges;
mysql> quit
5、重启MySQL
[root@master ~]# /etc/init.d/mysql restart
# 使用新密码 newpassword 登录
