我安装了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安装。
最好的问候。
答案 0 :(得分:7)
似乎Debian,其Linux Mint所基于的,具有在启动或重新启动mysql服务器时执行的脚本,以检查损坏的表并对其发出警报。
在我的Debian服务器中,罪魁祸首似乎是/etc/mysql/debian-start
bash脚本,后者又调用/usr/share/mysql/debian-start.inc.sh
,所以检查两个脚本并注释掉迭代所有表的函数,快速看起来似乎如下:
check_for_crashed_tables;
从我上面提到的debian-start
脚本中调用。