linux下mysql的root密码忘记了解决方案

linux下mysql的root密码忘记了解决方案
准备工作:由于我们在重置密码的过程中,mysql会被任何可以连接的客户端访问,所以我们首先要保证服务器是安全的,最好是短暂的断开网络连接,或者移除web层面的访问接口,例如apache、tomcat的数据库访问。

step1修改MySQL的登录设置
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables表示忽略用户的权限验证。
如下

# The MySQL server
[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
character_set_server = utf8
skip-grant-tables

保存并且退出vi。
step2然后我们重新启动mysqld服务

# service mysqld restart
或者
#/etc/init.d/mysqld restart

显示如下:
Stopping MySQL: [ OK ]
Starting MySQL: [ OK ]

step3这是后我们就可以直接登录mysql服务了,登录并修改MySQL的root密码

# /usr/bin/mysql

然后修改root密码,执行如下sql语句:
USE mysql ;
UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;

注意上一步执行的时候看下user里的用户,对应的修改。new-password 为你自定义的新密码。
执行如下sql语句:
flush privileges ;
quit;
step4 修改密码完毕,然后我们将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除
保存并且退出vi。
step5重启mysql服务,见step2

大功告成!!!!!妈妈再也不用担心我忘记数据库密码啦。吼吼

猜你喜欢

转载自wzhwei.iteye.com/blog/2283137