先查询mysql库的user表:
user mysql;
select user, host, plugin from user\G;
得到以下结果:
*************************** 1. row ***************************
user: mysql.infoschema
host: localhost
plugin: caching_sha2_password
*************************** 2. row ***************************
user: mysql.session
host: localhost
plugin: caching_sha2_password
*************************** 3. row ***************************
user: mysql.sys
host: localhost
plugin: caching_sha2_password
*************************** 4. row ***************************
user: root
host: localhost
plugin: caching_sha2_password
我这里使用的账户是root,所以只关注 root 用户:
*************************** 4. row ***************************
user: root
host: localhost
plugin: caching_sha2_password
root用户使用caching_sha2_password插件加密,原因就是客户端没有caching_sha2_password插件。
修改root密码加密方式为:mysql_native_password:
ALTER USER 'root'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
这里的“host”填上边查询结果对应的host字段的值,这里就是“localhost”,“password”就是填 root 用户对应的密码。