多数据源场景,其中一个是mysql库,数据源连接报错 数据包发送了,但是未接到回执。

1、如果是首次连接报错,考虑是网络问题导致数据不可达。依次排查以下几个方面:

(1)网络是否连通

(2)防火墙是否限制3306端口

(3)mysql是否开放远程连接权限

(4)如果存在内网那么端口有没有被映射成别的

其中,mysql远程连接未开启的表现为:jdbc:mysql://ip:3306/中,ip填localhost可连通,换成任意ip无法连通,解决办法如下:

打开MySQL CommandLine Client,通过命令: mysql -u root -p进行登录

(1)改表法

use mysql;

update user set host = '%' where user = 'root';

这样在远端就可以通过root用户访问Mysql.

注:root的位置要使用数据库用户名,一般默认是root

(2)授权法

   将host字段的值改为%就表示在任何客户端机器上能以root用户登录到mysql服务器,建议仅在开发时设为%。   
   update user set host = ’%’ where user = ’root’;

   将权限改为ALL PRIVILEGES

mysql> use mysql;
Database changed
mysql> grant all privileges  on *.* to root@'%' identified by "password";
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
+--------------+------+-------------------------------------------+
| host         | user | password                                  |
+--------------+------+-------------------------------------------+
| localhost    | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| %            | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
+--------------+------+-------------------------------------------+
3 rows in set (0.00 sec)

2、如果是连接一段时间之后报错,考虑8h断联机制,my.ini添加mysql系统配置参数,或者定时做简单查询进行保活。

 开启远程连接参考出处:mysql 远程登录修改配置 - 三冬三夏 - 博客园

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐