给数据库库灌入20多个G 的数据,发现某一时刻中断,mysql.log处于/*!40000 ALTER TABLE `logaction` ENABLE KEYS */,无报错日志产生,另打开终端登录数据库查看发现Repair with keycache ,上网查看解决办法,然后mysql> show variables like '%max_sort_file%';和mysql> show processlist;后,神奇的发现数据继续进行导入,但是show processlist还存在Repair with keycache ,此时修改相应参数,到现在为止Repair with keycache仍继续存在,数据暂时未导入完毕--数据未导入完毕时,网络中断,使用的CRT中断后,重新连接,发现该导入进程消失,数据导入失败。
重新采取下面方法导入数据:
nohup mysql -uroot -p < all.sql &
----------------------------------分割线------------------------------------------------
MYISAM物理文件为11G
-rw-rw---- 1 mysql mysql 11G Dec 30 11:04 logaction.MYD
dump的时候会重新建立索引
mysql> show processlist;
+----+-----------------+-----------+--------+---------+-------+------------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-----------------+-----------+--------+---------+-------+------------------------+------------------------------------------------------------------------------------------------------+
| 1 | event_scheduler | localhost | NULL | Daemon | 78802 | Waiting on empty queue | NULL |
| 9 | root | localhost | reader | Query | 9582 | Repair with keycache | /*!40000 ALTER TABLE `logaction` ENABLE KEYS */
其对应参数不满足相应条件
vim /usr/local/mysql/etc/my.cnf
myisam_max_sort_file_size = 6G
修改参数,使其满足相应条件
mysql> set global myisam_max_sort_file_size=12000000000;
产生其原因:
初步认为其原因的产生,是由于该原表建立索引时,数据量小于myisam_max_sort_file_size值,可以建立成功,然后数据快速增长,
增长到超过myisam_max_sort_file_size值,此时进行逻辑导出导入时,会重新建立索引,但是若myisam_max_sort_file_size的大小,
小于该表,则无法成功创建索引,会hang住。
阅读(1123) | 评论(0) | 转发(0) |