尽管httpd上没有用户,但我的数据库似乎有许多打开的连接。
mysql> SHOW PROCESSLIST;
+-------+----------+--------------------+---------------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+----------+-----
我的数据库似乎有许多打开的连接,尽管在httpd上没有用户。
mysql> SHOW PROCESSLIST;
+-------+----------+--------------------+---------------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-------+----------+-----
我在mysql上使用Django,有太多连接的问题。
我从命令行运行python脚本,但集成了Django模型来检查数据库中的数据。该脚本每30秒运行一次,我使用线程来控制它。My_function是检查数据库状态的函数。
while True:
now = time.time()
if now < next:
time.sleep(next - now)
t = Thread(target=my_function,)
t.start()# start a thread
next += interval
问
我有大量的连接,但是当我发布一个显示完整的处理列表时,我并没有显示任何与我看到的连接非常接近的内容。这些亲戚是某种孤儿吗?我尝试了刷新主机命令,即使重新启动了服务器,也重新启动了mysql服务器,连接也保持不变。
我相信这些连接会导致与数据库建立新连接的问题。用户正在收到一个“服务器消失”错误。我该怎么清理这些?
见以下命令:
mysql> show status like '%onn%';
+--------------------------+-------+
| Variable_name | Value |
+----------------
我已经在LAN中的不同机器上移动了mysql服务器,16核,8GB RAM和同样可怕的结果。在负载测试期间,一切都进行得很好,直到300秒左右。从DB的客户端到DB有15个持久连接,在这段时间之后,我可以看到它变得平坦了:
突然间,发送给它的所有查询都开始超时:
mysql> show processlist;
+-----+-------------+--------------------+----------+---------+------+-------+------------------+
| Id | User | Host |
我正在与我的MySQL流程中的“太多连接”问题作斗争,我已经到了mysqladmin processlist -uroot -pXXXXX导致以下结果的地步:
+------+------------+-----------+------------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+------+------------+-----------+-----
运行Sidekiq几个小时后,我看到许多作业在Mysql2::Error: This connection is in use by: #<Celluloid::Thread:0x0000000d1b56e0 sleep>中失败。似乎Sidekiq线程在MySQL连接池上有些冲突。
concurrency在sidekiq.yml中设置为默认的25,在database.yml中池设置为28。没有长时间的查询,在标准的finder调用中也会出现异常,没有什么特别之处。
如何防止此错误以确保作业顺利运行?
当我运行命令时,我得到了连接到服务器的详细信息。下面是我的MySQL服务器的连接细节,
mysql> show processlist;
+------+-----------------+----------------------+-------------+---------+----------+------------------------+------------------+
| Id | User | Host | db | Command | Time | State
由于某些原因,与本地数据库的连接处于休眠状态,即使数据库实际上没有执行任何操作:
mysql> SHOW FULL PROCESSLIST;
+-----+------+-----------+-----+---------+------+-------+-----------------------+
| Id | User | Host | db | Command | Time | State | Info |
+-----+------+-----------+-----+---------+------+-------+-----
我的Node.js代码如下所示
CODE1:下图
var http=require('http');
var MySQL = require('mysql');
mysql = MySQL.createConnection(...)
http.createServer(function(req, res){
// the query will take several seconds
mysql.query("SELECT SLEEP(1)", function....)
});
http.listen(...);
问题是当我
我在用
def mysql_handling(string):
global cursor
while True:
try:
cursor.execute(string)
if 'SELECT' not in string:
db.commit()
break
except MySQLdb.MySQLError:
cursor.close()
print '
我正在使用连接到mysql数据库的datamapper在sinatra应用程序上工作,并且在仅从一个特定表中检索/查找记录时遇到问题。我可以使用datamapper find插入到其中,但是当我尝试执行@ Sleep_Log.all =ArgumentError时,我得到了以下错误:sleepEntries: argument out range。当我把所有东西都加载到irb中时,我得到了同样的错误。我还打开了查看查询的功能,当我调用timestamp时,我从sleep_logs ORDER BY id返回SELECT id,start_time,length,timestamp。当我通过my
如何获得连接细节,例如collation_connection用于打开数据库的另一个连接?
举个例子。假设我在我的数据库上有这个活动
mysql> show processlist;
+------+------+--------------------------------+------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----
我使用MySQL作为我的网站的后端,同时执行网站..在某个阶段,我以Too many connections的身份收到了错误。
我使用一个类文件来处理mysql事务。在这个类文件中,我有一个用于关闭连接的sub,如下所示:
Public Sub CloseConn()
ConnDB.Close()
ConnDB.Dispose()
End Sub
在得到错误后,我将重新启动mysql以继续操作。在mysql管理员中,我可以看到所有的连接状态都是Sleep。我怎样才能以编程的方式杀死那些昏昏欲睡的连接?
我有一个利用连接到Amazon RDS的RMySQL库的R脚本。在运行函数之前,该脚本首先连接到RDS。在函数内部,查询RDS上的MySQL,然后执行Sys.sleep命令24小时(86400秒),然后恢复。因为亚马逊的RDS wait_timeout参数设置为8小时(28800),这会在我的R控制台中导致以下错误:
Error in .local(conn, statement, ...) :
could not run statement: MySQL server has gone away
我不能这样做,所以我尝试了以下代码:
duration <- 86400
con
我正在尝试尽可能快地处理整个csv文件,所以我希望将每一行都作为一个芹菜任务并行处理。清理,这也是一项芹菜任务,必须等到处理完每一行。请参见下面的示例。
问题是,我似乎不能读完一个文件,因为我总是遇到MySQL的连接错误。到目前为止,我已经看到了这两个错误:2013, 'Lost connection to MySQL server during query'和2006, 'MySQL server has gone away'
from app.db.meta import Session
from celery import chord, Celery
fr
我有一个Web API,它不能工作,它不能连接到MYSQL服务器后,它工作了大约20天,因为它回到正常我必须重新启动服务器,这真的很奇怪,我试图连接到MYSQL服务器与其他工具包,如navicat在这段时间内,它不能连接到那个数据库,它不能很好地工作,它只是不能连接到MYSQL数据库显示的状态代码,如S1000或像10055(我试图谷歌该代码,它不工作,它不能工作,我不知道如何处理这个问题)我的web是由C# on VS 2015 with EF 5.0,.NET 4.6构建的,我将它部署在一个Windows 2008 R2 server上,在这个web服务器中有3个web api在IIS上
我已经在my.cnf中设置了一个my.cnf并重新启动了服务器,但是空闲连接的时间仍然比我设置的默认的1000多。知道为什么会这样吗?
PS:我正在运行ubuntu12.04和MySQLServer5.5。在mysql2 gem中使用Rails 3。
mysql> SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST ORDER BY TIME DESC LIMIT 20;
+------+------------------+-------------------------------------+-------------------------
在这里查看异步/等待示例:
https://github.com/sidorares/node-mysql2/blob/master/documentation/Promise-Wrapper.md
作者使用c.end()
let mysql = require('mysql2/promise');
let pool = mysql.createPool({database: test});
// execute in parallel, next console.log in 3 seconds
await Promise.all([pool.quer
我有一个这样的块:
begin
# some SQL request
rescue Mysql::Error => e
logputs "Mysql::Error occurred, retrying in 10s: #{e.message}"
sleep 10
retry
end
但是,当出现“与MySQL服务器的连接丢失”错误时,此块无法捕获该错误并重试( MySQL服务器重新启动)。你知道我怎样才能正确地捕捉这个异常吗?
谢谢!
我使用的是Tomcat6.0.29,带有Tomcat7的连接池和MySQL。测试我的应用程序时,它没有重用池中的任何东西,但最终创建了一个新的池,最终导致我无法使用数据库,因为当池的最大活动大小设置为20时,池中有数百个休眠连接。
请参考此处:
+----+------+-----------------+--------+---------+------+-------+------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-
测试与MySQL服务器的连接的最佳/正确方法是什么?举个例子,你能ping一下它吗?我使用的是MySQLdb和python。
我希望我的程序按照以下方式进行组织
....connect to MySQL server
database = MySQLdb.connect(host="127.0.0.1 etc...
While true:
**... Check to see if connection is still alive if not reconnect**
... send data to MySQL...
time.sleep(30)