今天在使用Apache ShardingSphere实现数据库读写分离功能,连接基于Docker的MySQL5.7 主从IP。SpringBoot程序提示如下错误信息:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:Communications link failure

错误的原因:MySQL服务在长时间不连接之后断开了,断开之后的首次请求会抛出这个异常

原因分析:

1、既然是长时间不连接之后断开了,那这个时间应该是可以设定的,或者现在mysql用的还是默认的值

2、如何查看现在的时间值,以及如何修改基于docker服务启动的MySQL。

查看默认值:

1、使用Native For MySQL客户端工具,执行如下指令:show variables like '%timeout%'

参数说明:

1)interactive_timeout:
 参数含义:服务器关闭交互式连接前等待活动的秒数。交互式客户端定义为mysql_real_connect()中使用CLIENT_INTERACTIVE选项的客户端。
 参数默认值:28800秒(8小时)
 
2)wait_timeout:
 参数含义:服务器关闭非交互连接之前等待活动的秒数。在线程启动时,根据全局wait_timeout值或全局interactive_timeout值初始化会话wait_timeout值,取决于客户端类型(mysql_real_connect()的连接选项CLIENT_INTERACTIVE定义)。
参数默认值:28800秒(8小时)

温馨提示:在MySQL4 及其以下的版本,可以通过autoReconnect=true 配置属性解决连接自动恢复问题,如果是MySQL5及其以上版本,必须通过系统参数来控制

结论:若要修改的话,需要同时修改这两个变量

连接时间值范围:在windows环境中:1-2147483s,

在Linux环境中:1-31536000s

Docker 下修改MySQL:MySQL5.7 在Docker 下的核心配置文件,是通过挂卷方式实现,所以我们仅仅只需要修改Docker 宿主主机所在挂载目录地址,修改对应文件即可。

docker 启动MySQL5.7:

 docker run -p 3307:3306 --name mysql-master \-v /usr/local/mysql-master/log:/var/log/mysql \-v /usr/local/mysql-master/data:/var/lib/mysql \-v  /usr/local/mysql-master/conf:/etc/mysql \-e MYSQL_ROOT_PASSWORD=root \-d mysql:5.7

MySQL5.7 配置文件所在宿主主机的文件目录地址:/usr/local/mysql-master/conf

在my.cnf 文件,添加超时时间配置。


[mysqld]## 设置server_id,同一局域网中需要唯一server_id=101## 指定不需要同步的数据库名称binlog-ignore-db=mysql## 开启二进制日志功能log-bin=mall-mysql-bin## 设置二进制日志使用内存大小(事务)binlog_cache_size=1M## 设置使用的二进制日志格式(mixed,statement,row)binlog_format=mixed## 二进制日志过期清理时间。默认值为0,表示不自动清理。expire_logs_days=7## 跳过主从复制中遇到的所有错误或指定类型的错误,避免slave端复制中断。## 如:1062错误是指一些主键重复,1032错误是因为主从数据库数据不一致slave_skip_errors=1062## 设置超时时间wait_timeout=1814400interactive_timeout=1814400

重新启动Docker 服务及其重启MySQL服务,再查看连接时间配置:

Docker之MySQL主从连接提示:Communications link failure相关推荐

  1. Android jdbc连接mysql报错解决方案 (Communications link failure)

    最近调试安卓连接mysql真是心态爆炸,快两天才搞出来.以下整理一些常见问题. 检查manifest文件里网络权限是否打开 检查数据库IP是否有问题(包括一些沙雕错误,比如是不是在ip首或尾多了个空格 ...

  2. com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure

    线下环境可以运行,新搭建的线上环境报错.网上查找了一些资料,有的说是密码上多了空格 , 有的说是时区问题,也有的说要 url设置 useSSL=false,也有说DAO中有语法错误等等 .很多原因都会 ...

  3. 【已解决】caused by: com.mysql.cj.exceptions.cjcommunicationsexception: communications link failure

    这个错误和之前博文中的错误原因一样,解决方法也一致. 解决方法请参考https://blog.csdn.net/handoking/article/details/81387721

  4. Druid 连接池 报错 com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    场景赘述 早晨查看项目前一天的实际运行日志,发现了 一个Springboot项目中的druid 连接池和 mysql 产生了异常信息,重连暂并未对系统产生影响 下面是具体报错信息: com.mysql ...

  5. 连接数据库报错com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure的解决方法

    控制台报错 Caused by: com.mysql.cj.exceptions.CJCommunicationsException: Communications link failure com. ...

  6. Rejecting re-init Communications link failure

    @[TOC](Rejecting re-init on previously-failed class java.lang.Class<com.mysql.cj.MysqlType>: j ...

  7. mac之idea连接MySQL数据库报com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

    项目场景: 最近入手了一台MacBookPro(谨慎尝试,用惯了windos后使用感具别扭,需要大量时间来适应),下载了最新的idea和最新的mysql8.0.23,然后开始了漫长而艰辛的开始,各种没 ...

  8. 连接mysql异常Communications link failure

    连接mysql 数据库的时候出现这个异常Communications link failure,原因:如果在wait_timeout秒期间内,数据库连接(java.sql.Connection)一直处 ...

  9. IDEA连接MySQL失败-[08S01] Communications link failure

    一.问题现状描述 使用IDEA启动maven项目,报错连接MySQL数据库失败,尝试用IDEA的database插件,连接本地MySQL库(Windows10本机搭建) 报错结果如下: [08S01] ...

最新文章

  1. ML之SVM:基于sklearn的svm算法实现对支持向量的数据进行标注
  2. SIGIR 2019 | 为什么你的毛衣显胖又显黑?这个算法给你答案
  3. SQL SERVER怎么去掉重复数据?
  4. dofilter 无效_“鹅厂”商标注册成功,腾讯异议无效
  5. Spring Boot中的测试
  6. cocos2d-x for xna创建动画-人物行走
  7. Maven学习总结(51)——Maven 常用属性和常量说明
  8. 为什么在 Windows 下用 Ctrl+Z 退出 Python 而 Linux 下用 Ctrl+D 呢?
  9. 音视频的采集、编码、封包成 mp4 输出
  10. Bit,Byte,WORD,DWORD区别和联系
  11. AIX文件系统之概述
  12. CarPlay Wireless 使用fdk_aac库解码Raw AAC-LC AAC-ELD
  13. Java技术体系简介
  14. 也来谈谈自己做为面试官的面试流程
  15. docker gitlab 初始密码查看
  16. 雪花飘落代码java_JavaScript实现雪花飘落效果
  17. vb冒泡排序法流程图_vb数组排序-冒泡排序法
  18. 机器学习入门 线性回归及梯度下降
  19. Android 百度地图marker中图片不显示的解决方案
  20. Advances in Financial Machine Learning 导言 (附pdf下载链接)

热门文章

  1. 3U VPX XC7VX690T计算处理板
  2. 这一年,熬过许多夜,也有些许收获 | 2022年终总结
  3. hive以半小时为维度进行统计的需求
  4. opa学习1--开发环境搭建
  5. 集成VueCli5各种功能与插件(一)安装
  6. TDengineGUI无法连接TDengine
  7. 阿里云服务器是国内的还是国外的?
  8. 微信小程序隐藏tabBar
  9. 深度学习模型部署技术方案
  10. Outlook 2013 pst/ost邮件数据文件迁移实现