mysql密码丢失后重设密码的方法(Unix&Linux&winxp)
在配置文件 mysqld 下面加入配置 skip-grant-tables ,重启服务,需要运行 FLUSH PRIVILEGES ; 可以绕过鉴权,再来修改密码,完成后还原配置;
今天在使用本地电脑架设的(Apache +apephp+mysql)环境,发现我已经忘了mysql的密码了。
于是到网上搜了下如何在忘了mysql密码后如何重设mysql密码。
这是在网上搜到的解决方法:
1)不用密码登录
[root@test1 local]# mysql
ERROR 1045: Access denied for user: 'root@localhost' (Using password: NO)
显示错误,说明密码已经修改。
修改方法:
Unix&Linux:
1.用root或者运行mysqld的用户登录系统;
2.利用kill命令结束掉mysqld的进程;
3.使用--skip-grant-tables参数启动MySQL Server
shell>;mysqld_safe --skip-grant-tables &(写全路径)
【桐星豆博客-何胜平笔记:[root@localhost root]# mysqld_safe --skip-grant-tables & 回车,在命令行下用 mysql -u -root登陆,选择mysql数据库用SQL语句更新密码即可】
4.为root@localhost设置新密码
shell>;mysqladmin -u root flush-privileges password "newpassword",或直接进入mysql表中修改Password
如:
>;use mysql
>;update user set password=password("new_pass") where user="root";
【2019.7.29,高铁上,去威海:桐星豆博客-何胜平笔记:5.7版本下的mysql数据库下已经没有password这个字段了,password字段改成了authentication_string,ERROR 1054 (42S22): Unknown column 'password' in 'field list',要使用如下命令:
update mysql.user set authentication_string=password('*******') where user='*******';
】
>;flush privileges;
5.重启MySQL Server
Windows:
1.用系统管理员登陆系统。
2.停止MySQL的服务。
3.进入命令窗口,然后进入MySQL的安装目录,比如我的安装目录是c:\mysql,进入C:\mysql\bin
4.跳过权限检查启动MySQL,
c:\mysql\bin>;mysqld-nt --skip-grant-tables
5.重新打开一个窗口,进入c:\mysql\bin目录,设置root的新密码
c:\mysql\bin>;mysqladmin -u root flush-privileges password "newpassword"
c:\mysql\bin>;mysqladmin -u root -p shutdown
将newpassword替换为你要用的root的密码,第二个命令会提示你输入新密码,重复第一个命令输入的密码。
6.停止MySQL Server,用正常模式启动Mysql
7.你可以用新的密码链接到Mysql了。
2)用修改后的密码登录
[root@test1 local]# mysql -u root -p
Enter password: (输入修改后的密码123456)
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4 to server version: 4.0.16-standard
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
成功!
这是通过mysqladmin命令修改口令,也可通过修改库来更改口令。
下面是我实际解决mysql密码丢失后重设密码的过程(我用的是windows xp系统):
windows下忘记Mysql密码处理方法
首先k掉Mysql进程
开始-运行cmd-net stop mysql
接着切换到mysql下bin目录(比如我的在D盘mysql)
cd..
cd..
d:
cd mysql
cd bin
切换到了mysql下bin目录
现在用另外一种方式启动MYSQL
mysqld-nt --skip-grant-tables
启动mysql,切忌关闭这个CMD窗口
现在另外开一个CMD窗口切换到MYSQL下BIN目录
方法同上
然后启动MYSQL
mysql -uroot
启动Mysql后,打开mysql这个数据库,这个数据库里user表存储了root密码
命令如下
use mysql;(打开mysql这个数据库)注意分号
会有提示的
然后update user set password=password("webos") where user="root";(这儿的分号一定要,第一次我就这忘记了,折腾了半小时)
然后会有提示
然后exit
出现bye后 关掉两个cmd窗口
打开任务管理器 结束mysql-nt.exe进程
然后重新启动Mysql
可以开始-管理工具-服务-启动Mysql
或者开始cmd net start mysql启动Mysql
这样你的新密码就是webos了
oK.......
原文出处:http://www.ittang.com/2008/1011/8599.html

转载请注明:文章转载自:桐星豆 [https://txdou.com]
本文标题:mysql密码丢失后重设密码的方法(Unix&Linux&winxp)
本文地址:https://txdou.com/article17


- 注意:“桐星豆”只会以“回复”的身份出现,不会以“咨询”的身份出现在留言或评论中,凡是以“咨询”的身份出现的留言或评论均为他人盗用!
- 本站用以回复网友评论的唯一名称是“桐星豆”,除此外均无效,网友不得用此名进行相应文章的评论或回复!
- 用户言论只代表其个人观点,不代表桐星豆的观点或立场!
- 非诚勿扰,请友好如实的评论,杜绝谩骂、人格攻击等一切伤人言论,请严格遵循中华人民共和国法律法规!
- 桐星豆拥有最终解释权,如有网友违规,本站将有权删除或屏蔽违规评论,情节严重者账户加入黑名单、永久封IP并报司法部门严惩!
- 您一旦参与评论本站则默认为您已经同意以上条款,否则“非诚勿扰”,谢谢合作!