开发者社区> 问答> 正文

MySQL重新连接报错

环境信息

canal version 1.1.2 mysql version 5.7

问题描述

运行一段时间后,连接mysql出现socket timeout,重新创建MysqlConnector,使用InetSocketAddress.getHostString()再构造InetSocketAddress,在服务器有多个网卡的情况下,构造出来的address可能会是另外一个地址,导致连接不上mysql。这里为什么不直接使用传进来的address?

public MysqlConnector(InetSocketAddress address, String username, String password){
    String addr = address.getHostString();
    int port = address.getPort();
    this.address = new InetSocketAddress(addr, port);

    this.username = username;
    this.password = password;
}

原提问者GitHub用户sosozhuang

展开
收起
古拉古拉 2023-05-08 13:31:59 62 0
1 条回答
写回答
取消 提交回答
  • hostname -i 最好绑定一下本机ip

    原回答者GitHub用户agapple

    2023-05-09 17:41:26
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像