在phpmyadmin中更新password 时,选错了auth 方式,没有选mysql-native-password, 选了一个sha256 什么的。。再用root登录,就立马出现了 error 2061
后来google 了好久,才发现在mysql 5.X 中,默认的auth 方式是mysql-native-password方式,在mysql 8 中一般会选用sha256什么的。。
现在问题的关键是root 无法登陆,这是因为root 的auth 方式被更改为了 sha256-password 的方式。 知道了问题的原因,解决起来就好说了
解决步骤:
1) 关闭mysql 服务
service mysql stop
2) start mysql without password auth
mysqld_safe --skip-grant-tables &
3) 重启mysql 服务
service mysql start
4)用root 登录
mysql -uroot -p
5) 更新root 的密码和auth 方式
mysql 5.7.5 及以前
mysql> use mysql; mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD"), plugin="mysql_native_password" where User='root'; mysql> flush privileges; mysql> quit
6)关闭mysql 服务
service mysql stop
7) 启动mysql 服务
service mysql start