【问题标题】:WordPress database error The table is full for query UPDATEWordPress数据库错误表已满查询更新
【发布时间】:2012-05-22 12:29:44
【问题描述】:

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

  • WordPress 数据库错误 The table 'wp_1_options' is full for query UPDATE
  • WordPress 数据库错误 The table 'wp_1_cmets' is full for query INSERT

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

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

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

【问题讨论】:

  • @maiorano84 是的,请我的主机输入:innodb_data_file_path = ibdata1:10M:autoextend:max:512M 从上面的帖子解决了我的问题。谢谢。

标签: mysql overhead wordpress


【解决方案1】:

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

我要求我的主人改变:

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

它已经解决了我的问题。

【讨论】:

    【解决方案2】:

    因此,正如我最近发现的那样,在 MySQL 中实际上不可能实现您的要求。游标与您的其余声明一起在存储过程的顶部声明,并且 MySQL 的解析引擎无法管理条件变量声明,它是全部还是没有。

    我想出了以下技巧,可以让我解决这个问题,即我只是分别声明了我需要的每个游标。我只有两个,所以这并不疯狂:

    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

    【讨论】:

      猜你喜欢
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-14
      • 2021-07-20
      相关资源
      最近更新 更多