1、mysql8以前的版本加密规则是mysql_native_password,而mysql8之后的加密规则是caching_sha2_password,所以造成了命令连接正常,而用native连接失败。
2、修改数据库加密方式,注意因为在之前修改了远程连接,所以这里条件是 root@% 否则这里%要替换成localhost
mysql> use mysql;
Database changed
mysql> ALTER USER 'root'@'%' IDENTIFIED BY 'password' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.12 sec)
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.03 sec)
mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)