1.首先关闭Linux中的防火墙
在使用 Navicat 连接 MySQL 数据库时,有时会遇到
报错:2002 - Can’t connect to local MySQL server thro。
这个错误表示 Navicat 无法通过本地连接来访问 MySQL 服务器。
所以需要关闭防火墙。
Linux终端下执行这2条语句:
systemctl stop firewalld.service //#临时关闭防火墙
systemctl disable firewalld.service //永久关闭防火墙
2.让远程MySQL所有IP都有连接权限。
报错:1130 Host'192.168.100.1'is not allowed to connect to this MySQL server
在Linux进入Mysql的User表
然后执行下面代码
UPDATE user SET Host = '%' WHERE User ='root';
FLUSH PRIVILEGES;
-- Host修改完成后记得执行FLUSH PRIVILEGES使配置立即生效:
--Host列指定了允许用户登录所使用的IP:
-- `Host=localhost`,表示只能通过本机客户端去访问。
-- `Host=%` ,表示所有IP都有连接权限。
3.密码加密出错
报错:Error No. 1251 Client does not support authentication protocol requested by server;
consider upgrading MySQL client
出现这个原因是MySQL 8 之前的版本中加密规则是mysql_native_password,而在MySQL 8之后,加密规则是caching_sha2_password。
Linux下 mysql -uroot -p 登录你的 MySQL 数据库,然后 执行这条SQL:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '12345';