This sequence causes the same errors:
ALTER TABLE postsearch DISABLE KEYS;
delete from postsearch where postId=65031 limit 1;
ALTER TABLE postsearch ENABLE KEYS;
#1034 - Incorrect key file for table: 'postsearch'. Try to repair it
Could this be a bug, as hinted at here by people using 4.1:
http://bugs.mysql.com/bug.php?id=3822
http://bugs.mysql.com/bug.php?id=3808
?
Jim
Jim wrote:
>
> gerald_clark wrote:
>
>> Hardware?
>
> Celeron 1.3Ghz, IDE drive, 512Mb RAM
>
>> OS and version?
>
> GNU/Linux, 2.4.20-8 kernel
>
>> MySql version?
>
> 4.0.17
>
>> Size of data file?
>> Size of index file?
>
> postsearch.frm 8.7K
> postsearch.MYD 3.5G
> postsearch.MYI 1.0G
> postsearch.TMD 3.5G
>
>> Filesystem type?
>
> ext3
>
>
> Sorry 'bout that!
>
> Also, in the time since posting the question below, I tried the
> operation again (after repairing things), but I did a ALTER TABLE ___
> DISABLE KEYS before and an ENABLE KEYS after. This did not work, as
> although the DB seemed to be working afterwards,
>
> mysql> describe postsearch;
> ERROR 1016: Can't open file: 'postsearch.MYI'. (errno: 144)
>
> So now I am repairing again.
>
>
> Thanks for your interest,
> Jim
>
>
>>
>>> I have a table with several keys. When I try to delete anything from
>>> this table, I get data corruption and have to repair it with
>>> myisamchk. Selects, updates work fine.
>>>
>>>
>>> Here's the create table statement:
>>>
>>> CREATE TABLE `postsearch` (
>>> `postId` int(11) NOT NULL default '0',
>>> `weblogId` int(11) NOT NULL default '0',
>>> `url` varchar(200) NOT NULL default '',
>>> `plink` varchar(200) NOT NULL default '',
>>> `image` varchar(100) default NULL,
>>> `language` varchar(100) default NULL,
>>> `title` varchar(100) default NULL,
>>> `weblogTitle` varchar(100) default NULL,
>>> `dateCreated` datetime NOT NULL default '0000-00-00 00:00:00',
>>> `post` text,
>>> `excerpt` text,
>>> `parserVersion` varchar(255) default NULL,
>>> PRIMARY KEY (`postId`),
>>> KEY `weblog_key` (`weblogId`,`dateCreated`),
>>> KEY `url_key` (`url`),
>>> KEY `plink_key` (`plink`),
>>> FULLTEXT KEY `excerpt` (`excerpt`)
>>> ) TYPE=MyISAM
>>>
>>>
>>> I think I have to somehow disable the keys, but am not sure quite how.
>>>
>>> Here's what happens when I try to delete:
>>>
>>>
>>> mysql> select postId from postsearch where dateCreated < NOW() -
>>> INTERVAL 14 DAY limit 1;
>>> +--------+
>>> | postId |
>>> +--------+
>>> | 65031 |
>>> +--------+
>>> 1 row in set (0.10 sec)
>>>
>>> mysql> delete from postsearch where postId=65031 limit 1;
>>> ERROR 1034: Incorrect key file for table: 'postsearch'. Try to repair it
>>>
>>>
>>>
>>> Anybody have any idea?
>>>
>>>
>>> Jim
>>>
>>
>
>
>