【问题标题】:Mediawiki Database Error 1205Mediawiki 数据库错误 1205
【发布时间】:2010-08-04 19:27:39
【问题描述】:

我刚刚在 http://konton.us/wiki 上安装了新的 mediawiki 副本

我很高兴在我的 wiki 上玩耍,用信息填满这个地方,突然间,当我创建了一篇名为 Gameplay_Mechanics 的文章时,一切都死了。

http://konton.us/wiki/Gameplay_Mechanics

我收到了这个错误:

发生了数据库查询语法错误。这可能表明软件中存在错误。最后一次尝试的数据库查询是: (隐藏 SQL 查询) 从函数“”中。数据库返回错误“1205:超过锁定等待超时;尝试重新启动事务(internal-db.s76387.gridserver.com)”。

我能够通过“清空”文章然后保存它来修复它 - 只是再次重新填充它但是......它在不到 1 天后再次发生......所以我有点想知道什么是这个荒谬错误的实际根本原因。

感谢所有帮助

【问题讨论】:

    标签: mysql mediawiki database-deadlocks


    【解决方案1】:

    尝试删除该页面,然后使用稍微不同的名称重新创建它。这可能只是与该页面有关的奇怪侥幸。

    【讨论】:

    • 是的,这很奇怪...例如:假设昨天我有...200 行文本,当错误第一次弹出时。在“清空”文章然后重新填充它之后,我一路走到了 600 行代码。既然今天想继续写,文章只到了前200行……好像我从来没有写过后面的400行。这是怎么回事?我开始怀疑 200 字符“限制”中的代码有些“有趣”,可以这么说,导致代码中断并最终给出 1205 错误?
    【解决方案2】:

    您是否出于特定原因使用 MySQL 5.1.26rc?也许升级到 5.1.49?

    http://konton.us/wiki/Special:Version

    【讨论】:

    • 这是我的虚拟主机提供的版本。为什么,它被称为特别有缺陷?
    • 不知道,但如果它只是一个候选版本,它可能有问题。你可以问问你的主人。
    【解决方案3】:

    这看起来更像是您的数据库服务器太忙了。这个错误通常是事务死锁的标志,尽管我不确定 MediaWiki 是否使用事务。

    是否有很多用户访问您的网站?也许您正在与另一个高流量网站共享您的主机?

    【讨论】:

    • 不,目前只有我在访问该站点。我什至在我的 localsetting.php 文件中“阻止”了匿名观众和所有这些。我评论了那部分,所以你们可以去看看。我正在使用来自 mediatemple 的网格服务器托管包,所以这可能是部分原因。不过我想知道,我之前……有许多其他需要数据库的应用程序,并且确实……用循环语句和查询“阻塞”了系统,而这样的事情从未发生过。我很惊讶像一个新生儿,婴儿维基可以使服务器超时。
    • 哦,顺便说一句,是的,这很可能是一个死锁的事务。如果是这样,我们该如何解决它?
    • 这个怎么样? mediawiki.org/wiki/Manual:$wgAntiLockFlags 我将如何设置该变量?我不熟悉“位域”-我不知道它们是什么,但是在 defaultsettings.php 文件中它具有: $wgAntiLockFlags = 0;所以我想 0 = 选项 1、1 = 选项 2 等等?那么我应该选择#3 = 2 号选项吗?
    • $wgAntiLockFlags = ALF_NO_LINK_LOCK |据说 ALF_NO_BLOCK_LOCK 可以在其他一些论坛中解决此问题,但我认为它不起作用
    • 没有任何缓存的 Mediawiki 使用大量资源并且速度非常慢,即使对于少数用户也是如此。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-14
    • 2012-03-03
    • 1970-01-01
    相关资源
    最近更新 更多