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

作者&投稿:比青 (若有异议请与网页底部的电邮联系)
~

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下面添加参数如下:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000

windows下打开my.ini,增加:

[mysqld]

interactive_timeout=28800000

wait_timeout=28800000



有实践表明,没有办法把这个值设置成无限大,即永久。

因此如果你无法保证你的应用程序必定在设定的秒数内至少有一次操作,那么最好用第二个方法解决这个问题。

方法二:修改如下JDBC连接的 URL:

dbc:mysql://hostaddress:3306/schemaname?autoReconnect=true 添加 autoReconnect=true 这个参数,即能解决这个问题。

方法三:配置文件(proxool.xml):

……

专家建议关于mysql自动关闭服务的三个方法,用户最好采取第一个办法最为彻底解决。
如何解决mysql数据库X小时无连接自动关闭
标签:




解决MySQL限制的方法让你轻松使用mysql不让用
一、增加连接数限制 MySQL默认的连接数是100个,如果在高并发的情况下,连接数达到或者超过了这个限制,就会抛出“Too many connections”异常,导致数据库服务瘫痪。为了解决这个问题,可以修改MySQL配置文件my.cnf,增加连接数限制。打开my.cnf文件,找到[mysqld]部分,加入以下配置:max_connections = 1000...

MySQL限制连接数解决方法mysql不充许连接
以下是几种解决MySQL连接数限制的方法:1. 使用缓存技术 将MySQL连接数限制问题转化为缓存问题。可以通过缓存技术来减少对MySQL数据库的直接访问,从而降低连接数。可以使用Memcached等缓存技术,将查询结果缓存到内存中,之后从内存中读取数据。这样就可以减少对MySQL数据库的访问次数,从而降低连接数。2. 设...

高效处理数据MySQL应对一亿条数据瓶颈的解决方案mysql一亿条_百度知...
1. 使用正确的数据类型。MySQL提供不同的数据类型,如:整型、浮点型、字符串型等,因此合理选择数据类型能够大幅提高执行效率。比如,如果我们将一个类似“年龄”的字段设置成字符型,将会带来不必要的开销,不仅使磁盘占用更大,读取和查询速度也会变慢。因此,建议将年龄字段设置成整型。2. 正确的选择...

MySQL无法匹配数字解决方法在这里mysql不能匹配数字
1.检查数据类型 在MySQL中,数据类型是非常重要的。如果您尝试将一个数字存储在一个文本字段中,MySQL可能会无法正确匹配数字。因此,请确保在表设计和数据插入过程中选择正确的数据类型。例如,在创建表时,使用以下命令指定整数:CREATE TABLE my_table (my_number INT );您还可以使用其他数据类型,例如...

MySQL使用IN查询时数量超限问题的解决方法mysql中in超过数量
解决方法 1. 使用子查询替代IN查询 当我们需要查询大量数据时,使用子查询替代IN查询是一个可行的解决方案。子查询可以通过指定多个WHERE条件达到查询多个指定值的目的。由于子查询只处理一部分数据,所以不会出现内存使用过大的问题。示例代码:SELECT FROM table1 WHERE column1 IN (SELECT column1 FROM ...

MySQL数据无法保存更改的解决方法mysql不允许保存更改
解决方案 下面是一些解决MySQL数据无法保存更改的方法:1. 检查并解锁数据库:最简单的方法是检查数据库是否被锁定。可以使用以下命令来检查:SHOW OPEN TABLES WHERE In_use > 0;如果找到了被锁定的表,可以使用以下命令来解锁它们:UNLOCK TABLES;2. 检查权限:确保您有足够的权限对数据库进行更改。

解决MySQL上传数据丢失的问题mysql上传数据丢失
1.设置上传文件大小限制 MySQL默认的最大上传文件大小是1MB。当上传的文件超过1MB时,MySQL会自动截断数据,造成数据丢失。因此,我们需要将上传文件大小限制增加到合适的大小,以防止数据丢失。我们可以通过以下步骤来实现:在MySQL配置文件中,找到 [mysqld] 段,并添加以下代码:max_allowed_packet=100M ...

MySQLYOG管理工具优雅解决MySQL数据库维护瓶颈mysqlyog
一、数据库连接 MySQL YOG 可以通过多种方式连接 MySQL 数据库,包括直接连接、SSH 连接、HTTP 代理连接等。其中,直接连接方式是最常用的一种方式,用户可以通过填写相应的连接信息(包括主机名、用户名、密码等)实现连接。例如,假设我们要连接本地 MySQL 数据库,可以在 MySQL YOG 工具中填写以下连接...

解决方法如何判断MySQL个数大于2避免数据异常mysql个数大于2
一、如何判断MySQL个数大于2?在开始解决这个问题之前,我们需要知道如何判断MySQL个数是否大于2。可以在Linux命令行下执行以下命令来确定MySQL的个数:ps -ef | grep mysql 输出将类似于:root 3172 1 0 Jun15 ? 00:00:00 \/bin\/sh \/usr\/bin\/mysqld_safe –datadir=\/var\/lib\/mysql &#...

无限进行的MySQL查询如何解决mysql一直查询
如何解决无限进行的MySQL查询问题?1. 分析查询语句 针对无限进行的MySQL查询问题,我们首先需要分析查询语句,找出问题所在。可以通过命令行或者数据库管理工具执行SHOW FULL PROCESSLIST命令,查看当前正在执行的查询语句,然后分析查询语句是否正确、是否存在死循环等问题。2. 优化查询语句 如果查询语句存在问题...

阿城区15595167089: 如何解决mysql数据库8小时无连接自动关闭 -
邬严氧氟: linux下打开/etc/my.cnf,在属性组mysqld下面添加参数如下:[mysqld] interactive_timeout=28800000 wait_timeout=28800000 windows下打开my.ini,增加:[mysqld] interactive_timeout=28800000 wait_timeout=28800000 或者 修改如下JDBC连接的 URL:jdbc:mysql://hostaddress:3306/schemaname?autoReconnect=true 添加 autoReconnect=true 这个参数,即能解决这个问题.

阿城区15595167089: Mysql8小时断线,请问如何解决 -
邬严氧氟: mysql超时设置的问题,如果wait_timeout参数不做设置的话,mysql默认是8小时,即8小时后所有mysql连接自动断开.修改配置文件my.cnf [mysqld] wait_timeout=31536000 interactive_timeout=31536000 重启生效,需要同时修改这两个参数.

阿城区15595167089: 为什么启动mysql数据库之后,过几分钟又显示数据库没有连接,又要重新启动,之前是win8系统没有 -
邬严氧氟: 解决办法: 第一步 删除c:\windows\下面的my.ini 第二步 打开c:\mysql\bin\winmysqladmin.exe 输入用户名 和密码 第三步 在dos下 输入 mysqld-nt -remove 删除服务 在接着输入 mysqld-nt -install 第四步 输入mysql 启动成功. 其它可参考的方法: ...

阿城区15595167089: mybatis 连接mysql 遇到8小时问题,怎么解决 -
邬严氧氟: 关于mysql自动断开的问题研究结果如下,在mysql中有相关参数设定,当数据库连接空闲一定时间后,服务器就 会断开等待超时的连接: 同一时间,这两个参数只有一个起作用.到底是哪个参数起作用,和用户连接时指定的连接参数相关,缺...

阿城区15595167089: mysql闲置8小时后,自动关闭连接,再对数据库进行操作就会出问题,如何解决 -
邬严氧氟: 可参考JAVA C3P0连接池的解决方案:每10分钟发一条无意义的SQL查询,例如:SELECT 1 FROM DUAL DUAL是mysql内置的虚拟表,这条sql是永远可执行的----------------- 回复 zhao_may_may: 如何具体? 使用C3PO这样成熟的工具包,我们只是设置一个参数要求自动维持连接就行了,其他什么都不用管.如果是自己写程序,你就起一个线程定时去查询一下就好了,“SELECT 1 FROM DUAL” 这种语句是无意义的语句,不会造成数据库服务器的任何负担,但可以保持连接不会被释放

阿城区15595167089: mysql 8小时自动关闭连接问题
邬严氧氟: 程序里时不时顺手mysql_ping()一下,这样MySQL知道有程序在使用连接,就不会关闭连接了

阿城区15595167089: MySQL连接超时自动断开连接应该怎样处理 -
邬严氧氟: 用Fsocket获取数据时能够控制超时的.如果用 File_get_contents($url); 可以临时设定环境变量:设定默认socket超时时间 ini_set("default_socket_timeout", 3);养成好习惯,使用fsocket获取数据.如果使用Curl,也可以在Curl中控制超时时...

阿城区15595167089: 如何解决MySQL连接超时关闭
邬严氧氟: 经 过这样处理后,可以非常有效的解决MySQL server has gone away这样的问题,而且不会对系统造成额外的开销. 今天遇到类似的情景,MySQL只是冷冷的说:MySQL server has gone away. 大概浏览了一下,主要可能是因为以下几种原因...

阿城区15595167089: mysql停止工作 -
邬严氧氟: 我可以告诉你,那是因为MySql数据库在某个连接连续8小时之内没有任何请求的时候,会自动断开连接,你可以通过修改系统时间来测试这个问题!解决方法就是在每隔几小时(不超过8小时)后,向数据库发送请求,做某种无意义的操作即可.

阿城区15595167089: mysql 无法连接数据库,请检查数据库是否启动,数据库服务器地址是否正确 -
邬严氧氟: 1、检查60.191.254.236上的数据库服务是否启动; 2、如果是远程连的话,检查数据库是否允许远程连接; 3、检查数据库管理员是否对连接的IP有限制; 4、检查连接数据的用户名和密码是否正确. 暂时想到这么多,希望对您有帮助.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网