编辑mysql配置文件
vi /etc/my.cnf
在[mysqld]下面加上skip-grant-tables,如:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
skip-grant-tables
重启mysql(centos7)
systemctl restart mysqld
登录mysql后重新修改密码
mysql -u root
mysql> update mysql.user set authentication_string=PASSWORD('123456') where User='root';
mysql> flush privileges;
注意,如果通过以上操作可能还是会出现之前登录不上去的问题,所以最好再加上两个操作,可能跟数据库版本有关吧
set password for root@localhost = password('123456');
flush privileges;
最后改回my.cnf,重启mysql,用密码登录
mysql -u root -p
输入密码