如何解决mysql数据库8小时无连接自动关闭

 windows下打开my.ini,增加:


interactive_timeout=28800000

wait_timeout=28800000

  专家解答:MySQL是一个小型关系型数据库管理系统,由于MySQL体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。

  关于mysql自动关闭服务的现象,可以通过mysql服务器端程序mysql Administrator调整连接参数。将max_connections max_updates max_questions三项数据调整到很大的数字,那么你有限的操作将不会导致数据库服务的终止了在MySQL数据库中,如果一个连接8小时没有请求和操作,就会自动断开,从而导致一些基于数据库连接的应用程序,特别是 WEB 应用程序出错。解决mysql数据库自动关闭服务三个方法:

  方法一:这个参数的名称是 wait_timeout,其默认值为 28800秒(8小时)。其意义为关闭一个连接之前在这个连接上等到行动的秒数,也就是说,如果一个连接闲置超过这个选项所设置的秒数,MySQL 会主动断开这个连接。

  修改操作:

  linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:


interactive_timeout=28800000

wait_timeout=28800000

  windows下打开my.ini,增加:


interactive_timeout=28800000

wait_timeout=28800000

  有实践表明,没有办法把这个值设置成无限大,即永久。因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。

  方法二:修改如下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

SELECT CURRENT_USER

  专家建议关于mysql自动关闭服务的三个方法,用户最好采取第一个办法最为彻底解决。

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-08 07:13:13

如何解决mysql数据库8小时无连接自动关闭的相关文章

解决Mysql数据库插入数据出现问号(?)的解决办法_Mysql

首先,我用的mysql数据库是5.7.12版本. 出现的问题: 1.插入数据显示错误,插入不成功,出现:Incorrect string value: '\xCD\xF5\xD5\xBC\xBE\xA9' for column 'Sname' at row 1 2.插入中文,虽然插入成功,但是显示:?? 解决方法: 在my.ini文件中的 [mysqld] 中加入 #character-set-server=utf8 如图所示,必须在蓝圈的上方,就是说,蓝圈内的内容必须在[mysqld]的最下面

解决MySQL数据库死掉以及拒绝服务的方法

从Mysql 5.x的某个版本之后,MySQL的自动关闭空闲连接的特性被修改了,假如一个连接空闲到超时时间(默认28000秒8小时),再次发起的Reconnect重新连接请求不会被接受,需要重新建立新连接,这就导致了SER的重连机制不能正常工作:SER只会在需要操作数据库时去使用同一个连接接口,断开了则发起重新连接请求,而且这个问题短期内SER也不能够解决. 下文中将具体讲述处理的方法: 1.使用Mysql 4.0或4.1版本,如果没有用到Mysql 5的一些新特性比如存储过程触发器之类. 2.

解决MySQL数据库目录ibdata1文件占用空间大问题

经常使用MySQL并启用了InnoDB引擎的时候,会发现数据库相应目录下,ibdata1这个文件会越来越大,并且即便删除表中数据也无法减小其空间占用.所以,接下来的配置就是为了解决这个问题. 1.先停止所有访问数据库的服务: 2.导出数据文件: mysqldump -u root -p dbname| gzip > dbname.sql.gz 该命令会将数据库压缩导出,会慢点,如果你数据库并不大的话,可以不用压缩,那么就是: mysqldump -u root -p dbname > dbna

解决MySQL数据库中文模糊检索问题的方法_Mysql

在 MySQL下,在进行中文模糊检索时,经常会返回一些与之不相关的记录,如查找 "%a%" 时,返回的可能有中文字符,却没有a字符存在.本人以前也曾遇到过类似问题,经详细阅读MySQL的Manual,发现可以有一种方法很方便的解决并得到满意的结果. 希望通过"标题"对新闻库进行检索,关键字可能包含是中英文,如下SQL语句: 以下为引用的内容: Code: select id,title,name from achech_com.news where title li

解决MySQL数据库中与优化器有关的问题

MySQL采用了基于开销的优化器,以确定处理查询的最解方式.在很多情况下,MySQL能够计算最佳的可能查询计划,但在某些情况下,MySQL没有关于数据的足够信息,不得不就数据进行"有教养"的估测. 当MySQL未能做"正确的"事时,可使用下述工具来帮助MySQL: 使用EXPLAIN语句获取关于MySQL如何处理查询的信息.要想使用它,可在SELECT语句前添加关键字EXPLAIN: mysql> EXPLAIN SELECT * FROM t1, t2 WH

Mysql 数据库更新错误的解决方法_Mysql

语句: UPDATE test SET age=5 WHERE 'name'='王莽' 顾名思义就是把王莽的年龄改为5,但结果很无奈-- 影响行数为0,怎么回事,语法没错,哪里都没问题啊-- 随便改了改了,将name 的两个引号去掉,结果却无意间成功了-- 但是使用图形界面更改时,结果更让人迷惑-- 生成的代码是-- UPDATE `web`.`test` SET `age` = '20' WHERE `test`.`name` = '王莽' LIMIT 1 ; 百思不得其解中-- 通过比对,发

MySQL数据库innodb启动失败无法重启的解决方法_Mysql

问题介绍 电脑在使用过程中死机,重启后发现mysql没有启动成功,查看错误日志发现是innodb出现问题导致mysql启动失败. 错误日志 $ mysql.server start Starting MySQL . ERROR! The server quit without updating PID file (/usr/local/var/mysql/fdipzonedeMacBook-Air.local.pid). 22:08:37 mysqld_safe Starting mysqld

解决Mysql远程连接出错不允许访问 ERROR 1130:Host is not allow

解决mysql数据库远程连接出错ERROR 1130: Host '' is not allowed to connect to this MySQL server     解决方法:基本上第一条就能搞定.   1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localho

MySQL数据库的几种常见高可用方案

随着人们对数据一致性的要求不断的提高,越来越多的方法被尝试用来解决分布式数据一致性的问题,如MySQL自身的优化.MySQL集群架构的优化.Paxos.Raft.2PC算法的引入等等,本文介绍MySQL数据库的几种常见高可用方案. 一.概述 我们在考虑MySQL数据库的高可用的架构时,主要要考虑如下几方面: 如果数据库发生了宕机或者意外中断等故障,能尽快恢复数据库的可用性,尽可能的减少停机时间,保证业务不会因为数据库的故障而中断. 用作备份.只读副本等功能的非主节点的数据应该和主节点的数据实时或