mysql忘记root密码的解决方法

方法一:

在windows下:

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

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

3. 输入并执行命令: mysqld-nt --skip-grant-tables

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

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

>use mysql

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

>flush privileges;

>exit

例如:

cmd-> cd D:\MySQL\bin

D:\MySQL\bin>mysqld-nt -- skip-grant-tables

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

>use mysql

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

>flush privileges;

>exit

方法二:

windows下忘记mysql超级管理员root密码的解决办法

1,停止MYSQL服务,CMD打开DOS窗口,输入 net stop mysql

2,在CMD命令行窗口,进入MySQL安装目录 比如 d:\MySQL\bin

3,跳过mysql权限检查表,即当mysql起来后,不用输入密码就能进入数据库。

命令为: mysqld-nt --skip-grant-tables

4,重新打开一个CMD命令行窗口,输入mysql -uroot -p,使用空密码的方式登录MySQL(不用输入密码,直接按回车)

5,输入以下命令开始修改root用户的密码

mysql> update mysql.user set password=PASSWORD('新密码') where User='root';

6,刷新权限表

mysql> flush privileges;

7,退出

mysql> quit

解决MySQL的客户端不支持鉴定协议

MySQL 5.1采用了基于密码混编算法的鉴定协议,它与早期客户端(4.1之前)使用的协议不兼容。如果你将服务器升级到4.1之上,用早期的客户端进行连接可能失败,并给出下述消息:

以下为引用的内容:
shell> mysql

客户端不支持服务器请求的鉴定协议:请考虑升级MySQL客户端。

要想解决该问题,应使用下述方法之一:

·升级所有的客户端程序,以使用4.1.1或更新的客户端库。

·用4.1版之前的客户端连接到服务器时,请使用仍具有4.1版之前风格密码的账户。

·对于需要使用4.1版之前的客户端的每位用户,将密码恢复为4.1版之前的风格。可以使用SET PASSWORD语句和OLD_PASSWORD()函数完成该任务:

以下为引用的内容:
·mysql> SET PASSWORD FOR
·-> 'some_user'@'some_host' = OLD_PASSWORD('newpwd');
也可以使用UPDATE和FLUSH PRIVILEGES:
mysql> UPDATE mysql.user SET Password = OLD_PASSWORD('newpwd')
-> WHERE Host = 'some_host' AND User = 'some_user';
mysql> FLUSH PRIVILEGES;

原文地址: http://czy4411741.blog.163.com/blog/static/3420312720081141524734/

http://blog.csdn.net/jz_jhm0516/article/details/6862265


你可能感兴趣的:(mysql)