执行以下操作需要注意几点
1、没有任何服务或者用户在使用mysql
2、最好断网,因为以下操作会使得mysql数据库处于无密码状态,任何可以登录主机的用户都可以随意操作数据库
编辑配置文件,跳过权限
将以下参数添加到/etc/my.cnf
的[mysqld]下
skip-grant-tables
eg:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
systemctl restart mysqld
mysql
use mysql
update user set password=password('newpassword') where user='root';
在5.7版本中不存在password字段,所有要用以下修改进行重置密码
update user set authentication_string=password('newpassword') where user='root';
flush privileges;
将前面添加的参数删除
重启mysql
systemctl restart mysqld
至此mysql的root账户密码重置完毕