간단히 local환경에서 bug/task/todo tracking system으로 사용하기는 편하다.
사용 중 아래와 같이 에러가 발생 할 때 처리방법에 대해서 적어 봄.
Software error:
DBD::mysql::db do failed: Incorrect key file for table './bugzilla/bugs_fulltext.MYI'; try to repair it [for Statement "UPDATE bugs_fulltext SET comments = ?, comments_noprivate = ? WHERE bug_id = ?"] at Bugzilla/Bug.pm line 1095
Bugzilla::Bug::_sync_fulltext('Bugzilla::Bug=HASH(0x43d7d98)', 'update_short_desc', undef, 'update_comments', 'ARRAY(0x47d6840)') called at Bugzilla/Bug.pm line 1027
Bugzilla::Bug::update('Bugzilla::Bug=HASH(0x43d7d98)') called at /var/www/bugzilla/process_bug.cgi line 366
For help, please send mail to the webmaster (webmaster@localhost), giving this error message and the time and date of the error.
참고로 위 에러는 답글이나 attachment 올릴 때 발생한다.
해결 방법은 mysql table을 복구하는 것임.
출처는 ==> http://www.patinaed.org/sdk/2009/07/repair-a-table-in-mysql.html
죄송하지만 나중에 페이지가 삭제될 것에 대비해 펌했음.
Repair a table in mysql
Under certain conditions a tables might become corrupt. During a reboot to a linux box serving bugzilla caused one of the bugzilla tables became corrupt. Attempting further commits to the bugzilla database resulted in the error message:
DBD::mysql::db do failed: Incorrect key file for table './bugs/bugs_fulltext.MYI'; try to repair it
So, I logged in to mysql then:
mysql> use bugs
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> REPAIR TABLE bugs_fulltext;
+--------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+--------------------+--------+----------+----------+
| bugs.bugs_fulltext | repair | status | OK |
+--------------------+--------+----------+----------+
DBD::mysql::db do failed: Incorrect key file for table './bugs/bugs_fulltext.MYI'; try to repair it
So, I logged in to mysql then:
mysql> use bugs
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> REPAIR TABLE bugs_fulltext;
+--------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+--------------------+--------+----------+----------+
| bugs.bugs_fulltext | repair | status | OK |
+--------------------+--------+----------+----------+
실제로 해보면
현재 최신버전에서는 table 명이 bugzilla 로 사용되고 있어 참고해서 선택해야 한다.
$ mysql -u root -p
생략...
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bugzilla |
| mysql |
| performance_schema |
+--------------------+
4 rows in set (0.01 sec)
mysql> use bugzilla
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed
mysql> REPAIR TABLE bugs_fulltext;
+------------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+------------------------+--------+----------+----------+
| bugzilla.bugs_fulltext | repair | status | OK |
+------------------------+--------+----------+----------+
1 row in set (0.03 sec)
mysql> exit;
Bye