我遇到了MySQL的一些奇怪行为。我有一个不大的表,大约20k行,其中一列是VARCHAR(512)。在此表上执行SELECT查询(涉及联接等),但如果我将架构更改为VARCHAR(1024)或TEXT,则会收到错误:#2013 Lost connection to MySQL server during query
。
我的error.log显示以下内容:
121014 16:24:49 [Note] Plugin 'FEDERATED' is disabled.
121014 16:24:49 InnoDB: Initializing buffer pool, size = 8.0M
121014 16:24:49 InnoDB: Completed initialization of buffer pool
121014 16:24:49 InnoDB: Started; log sequence number 0 52320007
121014 16:24:49 [Note] Recovering after a crash using /var/log/mysql/mysql-bin
121014 16:24:49 [Note] Starting crash recovery...
121014 16:24:49 [Note] Crash recovery finished.
121014 16:24:49 [Note] Event Scheduler: Loaded 0 events
121014 16:24:49 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.1.58-1ubuntu1-log' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Ubuntu)
我已经转储了数据库并将其加载到另一台机器上,无论架构如何,它都能正常工作。有谁知道我可能会如何调试此问题或可能导致它的原因?
额外注意:有争议的机器是Rackspace云服务器,我已经调整了服务器的大小,这意味着它有更多的资源,而且它运行的硬件可能已经改变,但问题仍然存在。
澄清:无论架构如何,我都可以对此表进行大多数查询,只是特定的查询(涉及多个连接)似乎导致失败。 SELECT *工作正常。
答案 0 :(得分:0)
我不知道是什么导致了这个问题,但升级到MySQL 5.5使它消失了。感谢所有那些试图提供帮助的人。