1、修改配置文件:
# vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
添加了最后一行:skip-grant-tables,保存以后,启动服务:
# systemctl start mysqld.service
也可以使用以前的命令启动服务:
# service mysqld start
如果是比MySQL5.7 更早的版本,可以使用以下命令直接启动:
# mysqld_safe --skip-grant-tables &
2、连接数据库修改密码:
# mysql -uroot
mysql> update mysql.user set authentication_string=password('111111') where user='root';
mysql> flush privileges;
mysql> quit
注意:MySQL5.7 版本以后 user 表里面的 password 字段已经不存在了,将加密后的用户密码存储于 authentication_string 字段。
3、将配置表里面新增的skip-grant-tables注释或者删掉并重启服务即可。