在 Linux 下忘记 mysql root 密码的解决方法
博客专区 > 东昕 的博客 > 博客详情
在 Linux 下忘记 mysql root 密码的解决方法
东昕 发表于10个月前
在 Linux 下忘记 mysql root 密码的解决方法
  • 发表于 10个月前
  • 阅读 1
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

摘要: 在 Linux 环境下忘记 mysql root 密码,mysql5.6 和 mysql5.7解决方方法有区别,本文将分别介绍如何解决

跳过 mysql 服务的认证授权

无论 5.6 还是 5.7 都需要这一步

# 使用 service 停止服务
service mysql stop

# 或者 systemctl 停止服务
systemctl stop mysqld.service

# 命令行启动 mysql 跳过认证授权
mysqld_safe --skip-grant-tables &

# 客户端连接 mysql 服务
mysql -u root -p

Mysql5.7 找回 root 密码

注意

  • 新版的 mysql 数据库的 user 表中没有 Password 字段
  • 将加密后的用户密码存储于 authentication_string 字段

修改密码

mysql> update mysql.user set authentication_string=password('123') where user='root' and Host = 'localhost';
mysql> flush privileges;
mysql> quit

重启 mysql 服务

# 使用 service 重启服务
service mysql restart

# 或者使用 systemctl 重启服务
systemctl start mysqld.service

连接 mysql,alter user,完成找回密码

mysql> alter user 'root'@'localhost' identified by '123';

Mysql5.6 找回 root 密码

修改密码方法一

mysql> use mysql;
mysql> set password for 'root'@'localhost'=password('123');
mysql> flush privileges;
mysql> quit

修改密码方法二

mysql> use mysql;
mysql> update user set password=PASSWORD("123456") where user="root";
mysql> flush privileges;
mysql> quit

重启 mysql 服务,完成密码找回

# 使用 service 重启服务
service mysql restart

# 或者使用 systemctl 重启服务
systemctl start mysqld.service
标签: linux mysql 密码 root
共有 人打赏支持
粉丝 10
博文 22
码字总数 16965
×
东昕
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: