本文收集于本人的笔记本,由于找不到原文出处。在此省略,如哪位知道可以联系我加上。
方法一:
在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
例如:
打开命令行窗口
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安装目录 比如
cd 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;