4

在我安装 MySQL 并在其上导入一些数据库后,我的基于 debian 的启动速度非常慢。寻找一些声明,我在启动过程中找到了这个:

mysql> show full processlist;
+----+------------------+-----------+------+---------+------+----------------+----------------------------------------------------------------------+
| Id | User             | Host      | db   | Command | Time | State          | Info                                                                 |
+----+------------------+-----------+------+---------+------+----------------+----------------------------------------------------------------------+
|  9 | debian-sys-maint | localhost | NULL | Query   |   12 | Opening tables | select count(*) into @discard from `information_schema`.`PARTITIONS` |
| 10 | root             | localhost | NULL | Query   |    0 | NULL           | show full processlist                                                |
+----+------------------+-----------+------+---------+------+----------------+----------------------------------------------------------------------+
2 rows in set (0.00 sec)

这是造成麻烦的声明:

select count(*) into @discard from `information_schema`.`PARTITIONS`

我有 +-10 个数据库,总计超过 8gb 的数据。

是否有任何配置可以在系统启动时禁用此查询?如果是,为什么在引导期间运行它?

信息

我有一个没有自定义配置的标准 MySQL 安装。

最好的祝福。

4

1 回答 1

8

Linux Mint 所基于的 Debian 似乎具有在 mysql 服务器启动或重新启动时执行的脚本,以检查损坏的表并为此发出警报。

在我的 Debian 服务器中,罪魁祸首似乎是/etc/mysql/debian-startbash 脚本,该脚本又调用/usr/share/mysql/debian-start.inc.sh,因此请检查两个脚本并注释掉迭代所有表的函数,快速查看似乎如下:

check_for_crashed_tables;

这是从debian-start我上面提到的脚本中调用的。

于 2012-09-24T17:19:10.447 回答