ubuntu下mysql数据库忘记root用户密码

mysql长时间不用,或者人员变动造成root用户密码忘记,其他用户密码也不记得,网上拼凑多个帖子才最终找回设置新的密码,总结如下:

1、切换到系统root用户下:

> sudo su

2、修改mysql启动配置
修改配置文件:/etc/mysql/mysql.conf.d/mysqld.cnf
在最后一行追加:
skip-grant-tables  #不用等号


3、重新启动mysql
> service mysql restart

4、连接mysql修改数据库的root用户密码
> mysql     #连接mysql

use mysql;   # 进入名为mysql的数据库
select User, Host, authentication_string from user;  # 查看一下user表的内容
update user set authentication_string=password("你的新密码") where User='root';
# 注意MySQL5.7 代表密码的字段名是authentication_string
flush privileges;  # 刷新权限,修改完成之后,需要使用该语句,重新加载权限表
exit;    #退出mysql


5、重新启动MySQL服务

> service mysql restart
> mysql -u root -p
输入新密码正常登陆即可

原文地址:https://www.cnblogs.com/HandyLi/p/15267891.html