Datagrid报错
[08001] Public Key Retrieval is not allowed
这个错误通常是由于 MySQL 8.0 中的新特性导致的。默认情况下,MySQL 8.0 使用 caching_sha2_password
作为认证插件,而你需要在连接 URL 中明确允许公钥检索或者使用老版本的认证方式 mysql_native_password
。
show databases;
show tables;
use mysql;
select host,user from user;
可以直接把user表的root账户对应的host改为'%'就可以在Navicat上远程登录了,就是SQL的update语句,不用搞得那么复杂
update user set host = '%' where host = 'localhost' and user = 'root';
刷新
flush privileges;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的mysql密码';
FLUSH PRIVILEGES;
重新打开Datagrid,报错消失了