128bit障害対応 drupalデータベース破損

128bitがエラーメッセージを吐いていた

user warning: Can't open file: 'accesslog.MYI'. (errno: 145) query: SELECT COUNT(DISTINCT(url)) FROM accesslog WHERE url <> '' AND url NOT LIKE '%128bit.dyndns.org%' in /home/powerpc/public_html/drupal-4.7.2/includes/database.mysql.inc on line 120.
user warning: Can't open file: 'accesslog.MYI'. (errno: 145) query: SELECT url, COUNT(url) AS hits, MAX(timestamp) AS last FROM accesslog WHERE url NOT LIKE '%128bit.dyndns.org%' AND url <> '' GROUP BY url ORDER BY last DESC LIMIT 0, 30 in /home/powerpc/public_html/drupal-4.7.2/includes/database.mysql.inc on line 120.

エラーメッセージから察するにaccesslogテーブルが破損?したようだ。
こういう場合にまず実施することは
バックアップです
まずバックアップすること。

バックアップが終わったら今度は復元です。
今回破損したのはアクセスログテーブルなのでdrupalのオプションでアクセスログ取得をOFFにしたらエラーメッセージは出なくなりました。
しかしそのままではちょっと...テーブルを作り直すことにします。
今回破損したのはマスターテーブルやユーザデータテーブルではなくただのアクセスログ、つまり全部消えてしまっても問題ありません。

telnetで入り込んでmysqlのコンソールを出して作業します。

powerpc@debian:~$ mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 52 to server version: 4.0.24_Debian-10sarge2-log

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use drupal;(データベースをdrupalに切り替え)
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Didn't find any fields in table 'accesslog'(なんだかエラーを吐いてますね)
Database changed
mysql> drop table accesslog
-> ;(テーブルdropコマンドでテーブルを削除します)
Query OK, 0 rows affected (0.49 sec)

次にテーブル作成、テーブル構文はdrupalを構築するときに使ったものの中から探し出しました。
mysql> CREATE TABLE `accesslog` (
-> `title` varchar(255) default NULL,
-> `path` varchar(255) default NULL,
-> `url` varchar(255) default NULL,
-> `hostname` varchar(128) default NULL,
-> `uid` int(10) unsigned default '0',
-> `timestamp` int(11) unsigned NOT NULL default '0',
-> `aid` int(10) NOT NULL auto_increment,
-> `timer` int(10) unsigned NOT NULL default '0',
-> `sid` varchar(32) NOT NULL default '',
-> PRIMARY KEY (`aid`),
-> KEY `accesslog_timestamp` (`timestamp`)
-> ) TYPE=MyISAM;
Query OK, 0 rows affected (0.23 sec)

テーブル作成OK
これでアクセスログの再取得が可能になりました。
しかしどうして壊れたの?!?!?