[rt-users] 0 results after corrupt sessions table, myisamchk

Tim Cutts tjrc at sanger.ac.uk
Mon Aug 25 08:01:38 EDT 2008


On 25 Aug 2008, at 7:37 am, Peter Nikolaidis wrote:

> Ruslan Zakirov wrote:
>>
>> Most of RT's table MUST use InnoDB engine to work correctly. I'm not
>> sure what's going on but I have feeling that you've disabled innodb
>> and mysql went wild after that.
>>
> Hi Ruslan,
>
> To my knowledge, we've never used InnoDB on this system. We upgraded  
> to
> 3.6.6 months ago, and 3.8.0 about a week ago.

Running MySQL using MyISAM is always a risky proposition, in my view.   
You lose all transactions, and you also lose quite a lot of atomicity  
(any multi-row UPDATE, INSERT or DELETE statement which gets  
interrupted, for example, can be left half-completed).  MyISAM is also  
quite a lot slower in tables which are written to frequently, because  
the only lock it supports is a full table lock.

>
> Can we convert and somehow get access to the data again?

You can certainly convert the table, yes, using:

ALTER TABLE tablename Engine=InnoDB

It can take some time to run, if the table being converted is large.

Chances are, though, that it is already too late.  myisamchk does  
nothing to check the data contents of your table are correct - all it  
does is check that that the indices are consistent with the rows of  
data that it currently has in the table.

If I were you, I'd find a known good backup of the database, modify  
its create table statements so they use the InnoDB engine (so you  
don't have to do the above ALTER TABLE stuff by hand), and then  
restore that backup database.

Regards,

Tim.


-- 
 The Wellcome Trust Sanger Institute is operated by Genome Research 
 Limited, a charity registered in England with number 1021457 and a 
 company registered in England with number 2742969, whose registered 
 office is 215 Euston Road, London, NW1 2BE. 



More information about the rt-users mailing list