Linux系统忘记Mysql密码

本文介绍了如何在Linux环境下停止MySQL服务,修改my.cnf配置文件以跳过密码验证,登录MySQL并更改root用户的密码。之后,重新启用密码验证,重启MySQL服务,并验证新密码的可用性。过程中遇到的错误提示和解决方案也一并提及。
摘要由CSDN通过智能技术生成

思路:

  • 修改配置文件,跳过密码验证,登录成功,修改密码,退出加上验证,测试连接。

  • 停止mysql服务,修改配置文件
[root@localhost /]# service mysql stop		#停止mysql服务
[root@localhost /]# vim /etc/my.cnf			#修改配置文件

注:
如果找不到my.cnf,可以用 find ./ -name my.cnf 进行查找后修改

  • 添加 skip-grant-tables,然后保存 :wq!
skip-grant-tables

在这里插入图片描述

:wq!			#保存文件退出
  • 启动mysql
[root@localhost /]# service mysqld start		#启动Mysql服务
[root@localhost /]# mysql -u root				#登录mysql

#切换到mysql数据库
mysql> use mysql;
#修改新密码
mysql> update mysql.user set authentication_string=password('新密码') where user='root';
#刷新权限
mysql> flush privileges;
#退出
mysql> exit;

在这里插入图片描述
注:
修改密码的时候出现ERROR 1064 (42000):开始复制的别人update语句,看没出什么区别,但还是报错;还一个set password for ‘root’@‘localhost’ =password(‘新密码’);也报这个错,百度说是引号编码格式的问题,没具体深究待定吧

  • 返回修改my.cnf文件,将之前添加的“skip-grant-tables”删掉,或者 #隐藏掉,然后 :wq!
[root@localhost /]# vim /etc/my.cnf				#修改配置文件
:wq!											#修改后保存退出
[root@localhost /]# service mysqld restart		#重新启动mysql服务
[root@localhost /]# mysql -uroot -p				#登录,验证一下
Enter password: 								#输入密码
mysql> 											#登录成功

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值