WordPress数据库错误查询UPDATE表已满

时间:2012-05-15 01:48:29

标签: mysql overhead wordpress

在我的wordpress多站点中,在主网站中,当我尝试更新任何帖子或小部件时出现错误。当我将我的网站置于调试模式时,我发现了许多错误:该表已满,用于查询UPDATE或INSERT为:

  • WordPress数据库错误表'wp_1_options'已满查询UPDATE
  • WordPress数据库错误表'wp_1_comments'已满查询INSERT

我认为如果我检查了这些错误表的内容,我的db似乎限制的每个表只包含3MB。

我使用一个数据库插件为我的wordpress网站检查数据库,我发现他们中的大多数都有3MB的“开销”大小。

以上信息的确切问题是什么?我们怎么解决它? 头顶是什么意思?我们如何解决这个开销问题?

2 个答案:

答案 0 :(得分:1)

问题的解决方法与问题中所述相同:ERROR 1114 (HY000): The table is full

我让我的主人改变了:

innodb_data_file_path = ibdata1:10M:autoextend:max:512M

它已经解决了我的问题。

答案 1 :(得分:0)

所以你最近发现的,在MySQL中实际上是不可能的。游标在存储过程的顶部声明,其余的声明和MySQL的解析引擎无法管理条件变量声明,无论是全部还是无。

我提出了以下hack,让我解决这个问题,即我刚刚宣布了我需要的每个光标。我只有两个,所以这并不疯狂:

DECLARE curs CURSOR FOR SELECT DISTINCT(user_id), applied_at FROM application WHERE job_id = JOB_ID_INPUT ORDER BY applied_at DESC;
DECLARE curs_all CURSOR FOR SELECT user_id, applied_at, job_id FROM application WHERE 1 ORDER BY applied_at DESC;

我建议如果您计划有数百个有条件创建的游标,那么您可能想要找到另一种方法来在MySQL中完成您的任务,或者如果您不能找到另一种工具。祝你好运。

查看此内容以获取更多详细信息: http://dev.mysql.com/doc/refman/5.0/en/cursors.html