忘记mysql数据库root账户密码如何修改

如果知道密码需要修改的情况下比较简单,这里主要记录下忘记mysq登录密码时如何修改。
先要声明一点,大部分情况下,修改MySQL是需要有mysql里的root权限的, 所以一般用户无法更改密码,除非请求管理员。

在开始下面的操作之前,先在任务管理器中结束mysqld.exe进程,确保mysql服务器端已结束运行。

1、打开cmd命令提示符,进入上一步mysql.exe所在的文件夹。
简洁方法:找到安装mysql的文件夹,进入mysql的bin目录,鼠标单击地址栏,拖选地址栏的全部文本,输入cmd,回车即可。
在这里插入图片描述

2、输入命令 mysqld --skip-grant-tables 回车。
–skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证。
此时就跳过了mysql的用户验证;
还用上一步的方法再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了,即输入刚才的命令之后命令行就无法操作了);
在这里插入图片描述
3、直接输入mysql回车,如果成功,将出现MySQL提示符 >。
在这里插入图片描述
4、连接权限数据库: use mysql; 。
在这里插入图片描述
5、修改密码

A.第一种输入:

update user set password=password('123456') where user='root' and host='localhost';

输入以上命令如果报如下错误:

ERROR 1054 (42S22): Unknown column 'password' in 'field list'

是因为有些mysql数据库下已经没有password这个字段了,password字段改成了authentication_string

在这里插入图片描述
如果是上面这种情况,需要采用第二种语句:
B.第二种输入

update user set authentication_string=password('123456') where user='root' and host='localhost';

6、刷新权限:flush privileges;
在这里插入图片描述
7、退出 quit。
用刚才修改的账户和修改后的新密码就可以登录了。

提示:
修改完成以后测试,如果mysql仍能免密码登录,需要编辑my.cnf文件,删掉skip-grant-tables
这一行,然后重启MySQL,/etc/init.d/mysqld restart。
重启mysql服务,使用户名root和刚才设置的新密码root登录就ok了;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值