在Linux环境下mysql的root密码忘记解决方法

举报
互联网老辛 发表于 2021/06/08 23:56:18 2021/06/08
【摘要】                                             mysql版本不同,修改密码的方法大同小异,但是有一定的区别:mysq...

                                           

mysql版本不同,修改密码的方法大同小异,但是有一定的区别:

mysql5.1
 

1.首先确认服务器出于安全的状态,也就是没有人能够任意地连接MySQL数据库。

2.修改MySQL的登录设置:
# vi /etc/my.cnf
在[mysqld]的段中加上一句:skip-grant-tables 保存并且退出

3.重新启动mysqld service mysqld restart

4.登录并修改MySQL的root密码

mysql> USE mysql ;
mysql> UPDATE user SET Password = password ( 'new-password' ) WHERE User = 'root' ;
mysql> flush privileges ;
mysql> quit

5.将MySQL的登录设置修改回来
# vi /etc/my.cnf
将刚才在[mysqld]的段中加上的skip-grant-tables删除

6.重新启动mysqld
# /etc/init.d/mysqld restart   ( service mysqld restart )

mysql5.7
1.停掉数据库: service mysql stop
2.运行:
# mysqld_safe --skip-grant-tables &
3.登陆数据库: mysql -p

4.更改密码
: 
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';
不过这里要提示一下:新版本的数据库下的user表里面已经没有password了
而是将加密后的用户密码存储在authentication_string字段下面
flush privileges;
quit
5. 重启下mysql : service mysql restart
 

但此时操作似乎功能不完全,还要alter user…

mysql> alter user 'root'@localhost' identified by '123456'


本文出自 “xinsz08の平行时空” 博客,请务必保留此出处http://xinsz08.blog.51cto.com/10565212/1859063

文章来源: zmedu.blog.csdn.net,作者:互联网老辛,版权归原作者所有,如需转载,请联系作者。

原文链接:zmedu.blog.csdn.net/article/details/77414640

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。