我有一个应用程序设置为与BoneCP共享mysql连接。现在,这个应用程序并没有得到大量的使用,因此连接也不是那么频繁。经过一段时间后,曾经有效的查询开始失败,我收到类似如下的消息:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 2,618,063 milliseconds ago. The last packet sent successful
是否有可能创建一个MySQL查询,如果它需要太长时间才能完成,它就会自动杀死自己吗?我想知道是否有可能预测查询的平均时间,并防止数据库耗尽。有什么工具或本土化的技巧可以让我们这样做吗?
例如:
SELECT data FROM unpredictable KILL IF TIMEOUT > 2000 /* ms */
环境: 5.6.19 MySQL
我正在使用azure数据工厂从MySQL服务器复制数据作为源。数据很大。当我设置管道并执行它时:
MySQL: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.
我认为这可以用解决。如何使用MySQL作为源将此配置添加到数据工厂管道中?
更新:我使用一个普通脚本将数据从MySQL复制到MySQL数据仓库。MySQL查询是简单的选择:select * from mytable;完全错误:
复制活动在源端遇到用户错误:
我正在运行一些报告,这些报告需要超过300秒才能执行,并最终在浏览器上显示。
我已经在代码中定义了最大执行时间,并在php.ini中设置了相同的时间。
ini_set('max_execution_time', 500);
我正在使用MySQL工作台监视执行,但在300秒浏览器上显示
The connection has timed out. The server at localhost is taking too long to
respond.
我只需要把它延长到400-500秒,我的所有报告都会顺利开始工作。我怎么能这么做?
我正在使用HIkariCP、Hibernate和MySQL。问题是:当应用程序启动时,一切都正常。但是,当我把它闲置了一段时间,然后返回并尝试从Hikari获得连接时,它会抛出异常:
Caused by: java.sql.SQLTransientConnectionException: Main DB Pool - Connection is not available, request timed out after 60072ms.
at com.zaxxer.hikari.pool.HikariPool.createTimeoutException(HikariPool.jav
我不是编程新手,但我是Java新手。我一直在用它为Bukkit编写插件,Bukkit是我的一个服务器包装器。我的问题与此无关,但这是一个纯粹的java问题。
我有一些代码可以在服务器启动时打开mysql连接,但如果我们在一段时间内没有通过我的代码运行任何查询,则下次尝试查询时会显示以下错误:
09:12:58 [SEVERE] Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received
错误码: 2013。在查询期间丢失与MySQL服务器的连接
我正在使用MySQL工作台。另外,我正在运行一批插入,总共大约1000行(例如:INSERT INTO mytable SELECT * FROM mysource1; INSERT INTO mytable SELECT * FROM mysource2;...mysource3...mysource4乘以1000倍)每批需要相当多的时间,其中一些时间超过600秒。
如何配置工作台,以在不停止和不断开连接的情况下通宵继续工作?
我使用MySQLConnectionPool从Python脚本连接数据库MySQL (MariaDB)。我使用上下文管理器在池中进行hadle连接。我想知道如果长时间不使用池,或者如果我的程序崩溃了,池是否会过期。我发现到MySQL数据库的连接过期了,即使你忘记了或者没有关闭你的程序中的连接,它也会被释放吗,连接池的情况是什么?
from contextlib import contextmanager
import mysql.connector
from mysql.connector.errors import Error
from mysql.connector import pool
我在三个节点上运行了一个Laravel后端。有些繁重的任务(Redis)可以运行几个小时(新特性)。问题是他们一直在失败。错误信息是:
App\Jobs\ImportProducts has been attempted too many times or run too long. The job may have previously timed out.
只有在多个节点运行命令时才会发生这种情况。
php artisan queue:listen --queue=product-import --memory=3G --timeout=0
(由主管管理)
在多个节点上重复运行queue:
我使用的是一个PHP脚本,它可以长时间连续执行(一次性映射脚本),并将数据插入到MySQL数据库中。该脚本运行良好,但最终(一两分钟后)出现错误:
MySQL server has gone away
我已经更改了mysql连接超时和php脚本执行超时的ini设置,但都没有更改结果。
我在过去做过一个非常类似的脚本,它在同一台服务器上运行了很长一段时间,没有遇到这个错误。
我感谢您的时间,希望您的帮助可以让我解决这个问题,以及任何其他沮丧的脚本作者在未来遇到这篇文章。
我通过以下方式连接到MySql:
import MySQLdb
cnn = MySQLdb.connect(user="login", passwd="passwd", db="some db") # subject to hang
cur = cnn.cursor()
cur.execute("some sql") # subject to hang
cnn.commit() # maybe subject to hang
cur.close()
从理论上讲,在我的服务器上,MySql可能会崩溃,我希望