4 messages in com.mysql.lists.bugsRe: Reproducible MyISAM table corruption| From | Sent On | Attachments |
|---|---|---|
| Dpto.Sistemas Ylos | 20 Mar 2003 03:02 | |
| Alexander Keremidarski | 20 Mar 2003 03:19 | |
| Dpto.Sistemas Ylos | 20 Mar 2003 03:54 | |
| Alexander Keremidarski | 20 Mar 2003 05:06 |
| Subject: | Re: Reproducible MyISAM table corruption![]() |
|---|---|
| From: | Dpto.Sistemas Ylos (sist...@ylos.com) |
| Date: | 03/20/2003 03:54:00 AM |
| List: | com.mysql.lists.bugs |
Ok. I tried stopping MySQL server before checking integrity and the result is the same.
How-To-Repeat: 1.- Create an empty database 2.- Dump into the SQL sentences (http://www2.ylos.com/myisamcorruption_ylos.sql.gz). 3.- Stop MySQL server 3.- Check the table integrity with myisamchk 4.- The result should be something like this:
# /usr/local/mysql/bin/myisamchk logweb.MYI Checking MyISAM file: logweb.MYI Data records: 156 Deleted blocks: 457 - check file-size - check key delete-chain - check record delete-chain /usr/local/mysql/bin/myisamchk: warning: Not used space is supposed to be: 25344 but is: 25292 /usr/local/mysql/bin/myisamchk: error: record delete-link-chain corrupted - check index reference - check record links /usr/local/mysql/bin/myisamchk: warning: Found 613 parts Should be: 614 parts MyISAM-table 'logweb.MYI' is corrupted Fix it using switch "-r" or "-o"
--
With mysqlcheck the result is the following:
/usr/local/mysql/bin/mysqlcheck cesar cesar.logweb warning : Not used space is supposed to be: 25344 but is: 25292 error : record delete-link-chain corrupted error : Corrupt
Best regards
On Thursday 20 March 2003 12:19, you wrote:
Hola,
Dpto.Sistemas Ylos wrote:
I wrote from Ylos Hispania SL. Yesterday we upgraded the mysql server in our development envirorment to the version 4.0.12-standard-log. After few minutes working a table became corrupted, we repaired with myisamchk -r, but few minutes later the error appeared again.
I was able to reproduce it, but this is not a bug at all. Read below.
How-To-Repeat: 1..- Create an empty database 2.- Dump into the SQL sentences (http://www2.ylos.com/myisamcorruption_ylos.sql.gz). 3.- Check the table integrity with myisamchk
You should never run myisamchk while mysqld is running. Use mysqlcheck instead.
4.- The result should be something like this: # myisamchk /usr/local/mysql/data/cesar/logweb.MYI Checking MyISAM file: /usr/local/mysql/data/cesar/logweb.MYI Data records: 156 Deleted blocks: 457 /usr/local/mysql/bin/myisamchk: warning: 1 clients is using or hasn't closed the table properly
As message said table is either *opened* or corrupted.
Try running your query then shutdown mysqld and check table with myisamchk and you will see there is no corruption.
Prefer using mysqlcheck as it issues CHECK TABLE or REPAIR TABLE commands and there is no risc to corrupt data.
Running myisamchk while myslqd is running in most cases leads to corruption.
Best regards
-- César Mauri -Dpto. Sistemas-
Ylos Hispania SL Paseo Prim, 27 bajos 43202 REUS-Tarragona SPAIN
Web: http://www.ylos.com Tel: +34 902 181073 Fax: +34 977 331114




