mysql忘记root密码解决方法

来源:互联网 发布:metatrader 4软件下载 编辑:程序博客网 时间:2024/05/16 19:15

在windows下:

1.打开命令行(DOS)窗口,停止mysql服务: net stop mysql

2.在DOS下面进入mysql的安装路径下的 bin目录,如 D:\mysql\bin

3. 输入并执行命令: mysqld -nt --skip-grant-tables(注意mysqld和-nt之间有个空格)

   (次命令执行后该窗口就停住了)

4.另外打开一个命令行窗口,执行mysql

>use mysql

>update user set password=password("new_pass") where user="root";

>flush privileges;

>exit

转自:http://czy4411741.blog.163.com/blog/static/3420312720081141524734/

在linux下:

LINUX

1>修改MySQL的登录设置:

1.# vi /etc/my.cnf 

 在[MySQLd]的段中加上一句:skip-grant-tables


例如:


Java代码
1.[MySQLd]   2.datadir=/var/lib/MySQL   3.socket=/var/lib/MySQL/MySQL.sock   4.skip-name-resolve   5.skip-grant-tables   6.[MySQLd]   7.datadir=/var/lib/MySQL   8.socket=/var/lib/MySQL/MySQL.sock   9.skip-name-resolve   10.skip-grant-tables 

 保存并且退出vi。


2>重新启动MySQLd

1.# /etc/init.d/MySQLd restart   2.Stopping MySQL: [ OK ]   3.Starting MySQL: [ OK ] 

 3>登录并修改MySQLroot密码


Xml代码
1.# /usr/bin/MySQL   2..   3.MySQL> USE MySQL ;   4.MySQL> UPDATE user SET Password = password('new-password') WHERE User = 'root' ;   5.MySQL> flush privileges ;   6.MySQL> quit   7.# /usr/bin/MySQL   8..   9.MySQL> USE MySQL ;   10.MySQL> UPDATE user SET Password = password('new-password') WHERE User = 'root' ;   11.MySQL> flush privileges ;   12.MySQL> quit   13.
 4>将MySQL的登录设置修改回来

1.# vi /etc/my.cnf 

 将刚才在[MySQLd]的段中加上的skip-grant-tables删除


保存并且退出vi。


5>重新启动MySQLd

1.# /etc/init.d/MySQLd restart   2.Stopping MySQL: [ OK ]   3.Starting MySQL: [ OK ] 
 转自:http://database.51cto.com/art/201006/203988.htm