I'm a tree and wating for the spring!
|

mysql密码丢失后重设密码的方法(Unix&Linux&winxp)

★作者:桐星豆博客   |  ★类别: MySQL   |  ★发布时间: 2010-04-26 00:56   |  ★更新时间: 2020-10-15 09:08   |  ★浏览次数:1887   |  ★ 评论(0)

 在配置文件 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密码处理方法
首先kMysql进程
开始-运行cmd-net stop mysql
接着切换到mysqlbin目录(比如我的在Dmysql
cd..
cd..
d:
cd mysql
cd bin
切换到了mysqlbin目录
现在用另外一种方式启动MYSQL
mysqld-nt --skip-grant-tables
启动mysql,切忌关闭这个CMD窗口
现在另外开一个CMD窗口切换到MYSQLBIN目录
方法同上
然后启动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


请尊重他人的劳动果实,转载时务必注明出处! 请尊重他人的劳动果实,转载时务必注明出处!
转载请注明:文章转载自:桐星豆博客 [http://blog.txdou.com]
本文标题:mysql密码丢失后重设密码的方法(Unix&Linux&winxp)
本文地址:http://blog.txdou.com/article17
分享到QQ空间 分享到腾讯朋友

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

您的姓名或昵称: 选填
您的E-Mail地址: ☆必填--仅站长可见
您个人网站地址: 选填 ( 如果填写,请务必加上 http:// 或 https:// 等等 )
留言内容:

验证码: 点击重新生成验证码  [ ctrl + enter ]

CopyRight © 2009-2020 by 桐星豆 All Rights Reserved. ICP证:京ICP备20021364号