【问题标题】:Is it necessary to have mysqlcheck run when starting mysql?启动mysql时是否需要运行mysqlcheck?
【发布时间】:2009-08-11 16:19:55
【问题描述】:

我有一个大的(大约 10 GB 和 20 GB 的 innodb 缓冲池)数据库,并且注意到当我启动它时,大约在它运行的前半个小时内,数据库将定期锁定和解锁所有表,使得对于在数据库重启后的前半小时内尝试访问我们网站的用户来说,这非常令人不快。

虽然我不能 100% 确定因果关系,但我注意到数据库锁定和解锁自身的时间与

/usr/bin/mysqlcheck --defaults-file=/etc/mysql/debian.cnf --all-databases --fast --silent

perl -e $_=join("", <>); s/^[^\n]+\n(error|note)\s+: The (handler|storage engine) for the table doesn.t support check\n//smg;print; 

正在我的数据库服务器上运行。我的问题是是否真的有必要在启动 Mysql 时运行 mysqlcheck(默认情况下在 mysql /etc/init.d/mysql 脚本中)?我在 mysqlcheck 上找到的 Google 结果表明它“修复和优化”表,但我不认为我的表会损坏,而且我对这个实用程序提供的优化优势持怀疑态度。

如果重要的话,我正在运行 Mysql 5.0.32

【问题讨论】:

    标签: mysql large-data-volumes


    【解决方案1】:

    没有。

    这是他们从现有的 MySQL 修改的“debian”功能。它旨在阻止人们遇到损坏的 MyISAM 表的问题。由于您使用的是 InnoDB,我建议您将其删除。我相信它是 init.d 脚本的一部分,因此您可以对其进行编辑以将其删除。

    【讨论】:

    • 好消息!感谢您的快速回复!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2013-04-14
    • 2012-07-25
    • 1970-01-01
    相关资源
    最近更新 更多