在Linux系统中,MySQL8忘记密码了怎么办

一、配置免密登陆

找到 MySQL 的配置文件 my.cnf ,该文件一般位于 /etc/my.cnf 。如果不是在 /etc 目录下,可以使用 find / -name my.cnf 进行查找。找到该文件之后,在该文件的最后新加入一行,内容为 skip-grant-tables 然后保存退出。示例配置文件参考如下:

[mysqld]
datadir=/usr/local/mysql/data
port=3306
max_connections=600
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
innodb_file_per_table=1
symbolic-links=0
log-error=/usr/local/mysql/data/error.log

skip-grant-tables

二、重启 MySQL 服务

修改完上述配置文件之后,请重启 MySQL 服务使修改的配置文件生效。 具体命令如下:

systemctl restart mysql

# 或者
systemctl stop mysql
systemctl start mysql



# 或者
service mysql restart

# 或者
service mysql stop
service mysql start

三、将旧密码设置为空

具体操作请参考如下命令:

# 1、执行如下命令登录数据库,提示输入密码时直接敲回车
mysql -u root -p


# 2、选择数据库
use mysql


# 3、将密码置空,此处用的是 authentication_string 字段,详情请参考博客底部连接
update user set authentication_string = '' where user = 'root';


# 4、退出
quit

四、去除免密登录

在步骤三把密码设置为空之后,我们需要将步骤一中的 skip-grant-tables 配置删除, 然后重启 MySQL 服务即可。具体步骤如下:

# 1、vi /etc/my.cnf 配置文件,删除 skip-grant-tables 配置,然后保存退出


# 2、重启 MySQL 服务
systemctl restart mysql

五、重新设置密码

重启服务之后,我们需要连接数据库重新设置密码。重新设置密码并不难,具体参考如下命令即可。但是这里有一个很关键的地方,就是指定主机,我就被这个坑了一波。 请参考下图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考完上图之后,相信你登陆到 MySQL 就没啥问题了。我也不知道这种情况是啥原因导致的,我通过 cat /etc/hosts 文件发现,localhost 和 127.0.0.1 是能够关联上的。 目前就不去研究了,能用就行,哈哈。


连接上数据之后,修改 MySQL 的命令如下:

# 执行如下命令登录数据库,提示输入密码时直接敲回车
mysql -u root -p


# 执行如下命令修改 'root'@'127.0.0.1' 的密码,xxx 表示密码,请自己设置对应密码
ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'xxx';


# 然后保存退出,使用刚刚设置的密码登录即可

参考连接:https://dev.mysql.com/doc/refman/8.0/en/set-password.html
参考连接:https://dev.mysql.com/doc/refman/8.0/en/set-password.html
参考连接:https://dev.mysql.com/doc/refman/8.0/en/set-password.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值