aaahd 发表于 2018-10-9 07:42:04

解决MySQL自动断开连接的问题

  有三个方法可以解决这个问题:
  1:修改MySQL配置参数
  2:修改JDBC
  3:修改第三方的数据库连接池应用 Proxool.xml
  
  方法1的解决方案:
  这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。在其客户程序中可以输入命令语句查看其值:
  show variables like '%timeout%'; 或者
  命令:show global variables like 'wait_timeout'查看等待时间
  修改操作:
  Linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:
  
  interactive_timeout=28800000(28800000=8000个小时)
  wait_timeout=28800000
  
  windows下打开my.ini,增加:
  interactive_timeout=28800000
  wait_timeout=28800000
  在msql5中wait_timeout的最大值分别是24d/365(win/linux);没有办法把这个值设置成无限大,
  因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。
  
  方法二的解决方案:
  修改如下JDBC连接的 URL:
  jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true
  添加 autoReconnect=true 这个参数,即能解决这个问题。
  
  方法三的解决方案:
  配置文件(proxool.xml):
  
  
  
  
  mysql
  
  
  jdbc:mysql://localhost/yourDatebase?useUnicode=true&characterEncoding=UTF-8
  
  com.mysql.jdbc.Driver
  
  
  
  
  
  
  90000
  
  20
  
  3
  
  20
  
  3
  
  true
  true
  
  SELECTCURRENT_USER
  
  

页: [1]
查看完整版本: 解决MySQL自动断开连接的问题