环境
Ubuntu
情景
忘记mysql root用户密码,现在需要重置root用户密码
解决
1、停止mysql服务
$ service mysql stop
1
2、修改my.cnf文件
# 查找my.cnf文件在哪里
$ find / -name my.cnf
/var/lib/dpkg/alternatives/my.cnf
/etc/alternatives/my.cnf
/etc/mysql/my.cnf
# 修改my.cnf文件,在文件新增 skip-grant-tables,在启动mysql时不启动grant-tables,授权表
$ vim /etc/mysql/my.cnf
[mysqld]
skip-grant-tables
3、启动mysql服务
$ service mysql restart
1
4、更改mysql root用户密码
$ mysql
# 选择mysql数据库
mysql> use mysql;
# 更改user表中root用户密码
mysql> update user set authentication_string=PASSWORD("new_pass") where user='root';
# 注意:可能不同的数据库版本密码的字段名称不一样
# 我的数据库版本是5.7.21,user表中的密码字段是:authentication_string
mysql> select version();
+-------------------------+
| version() |
+-----