Greetings list,

 I have a semi large table (~10gig) that when I run a select query
 from the table it gives me an errno 145. So I run myisamchk on the table,
 as it is a myisam table. However, my problem is, when I run myisamchk it
 tells me that the table has about 20 million data records, then
 proceeds to count through them. But when it reaches 20 million
 it doesn't stop, and just keeps on counting up. The longest one I let
 run reached 26 million, before it was aborted.

 I have run the myisamchk with two different options

 the first: myisamchk --fast -r table
 the second: myisamchk -q -r table

 I received no errors from myisamchk on either as it ran through,
 it just doesn't stop when it reaches the number of data records
 it says it has.

 I tried running myisamchk --safe-recover and got the following
 message:

 [server /usr/local/var/my_db ]#  myisamchk --safe-recover my_table
 - recovering (with keycache) MyISAM-table 'my_table.MYI'
 Data records: 19424783
 myisamchk: error: Can't create new tempfile: 'my_table.TMD'
 MyISAM-table 'my_table' is not fixed because of errors
 Try fixing it by using the --safe-recover (-o) or the --force (-f) option


 Running it with the -f option yeilds this:

 [server /usr/local/var/my_db ]# myisamchk -f my_table
 Checking MyISAM file: my_table
 Data records: 19424783   Deleted blocks:       0
 myisamchk: warning: Table is marked as crashed and last repair failed
 - check file-size
 myisamchk: warning: Size of indexfile is: 2917998592      Should be: 1024
 - check key delete-chain
 - check record delete-chain
 - check index reference
 - check data record references index: 1
 myisamchk: error: Can't read indexpage from filepos: -1
 - recovering (with keycache) MyISAM-table 'my_table.MYI'


 It then starts to count through the records. Since each check takes
 about 14 hours I do not know if the -f option will stop at 19million
 or not.



 Can any of you guru's offer me any advice in where to take it from here?
 Any other myisamchk command line options that I am not aware of? It just
 seems to me that if the --safe-recover tells you to use --safe-recover
 because it didn't work, things aren't good.

 _Any_ advice is appreciated.




---------------------------------------------------------------------
Before posting, please check:
   http://www.mysql.com/manual.php   (the manual)
   http://lists.mysql.com/           (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php

Reply via email to