Hello,
I posted message below a few hours ago.
Since then, I have tried to find how fast indexes become corrupt.
I have run a CHECK TABLE <table> QUICK
on different tables in my database and run a
REPAIR TABLE <table> when an error is reported followed
by a CHECK TABLE a few seconds later. Here is the output of
both commands:
mysql> repair table message;
+-------------------+--------+----------+----------+
| Table | Op | Msg_type | Msg_text |
+-------------------+--------+----------+----------+
| rencontre.message | repair | status | OK |
+-------------------+--------+----------+----------+
1 row in set (1 min 47.13 sec)
mysql> check table message quick;
+-------------------+-------+----------+------------------------------------------------+
| Table | Op | Msg_type | Msg_text
|
+-------------------+-------+----------+------------------------------------------------+
| message | check | error | Key 2 doesn't point at same
records that key 1 |
| rencontre.message | check | error | Corrupt |
+-------------------+-------+----------+------------------------------------------------+
2 rows in set (1.75 sec)
How is is possible that a table becomes corrupt so fast ?
What information should I send you in order to help me ?
I am running mysqld Ver 3.23.30-gamma for pc-linux-gnu
on i686 on a RedHat 6.2 server (bipro PIII 733/2Gb RAM)
We did not have these problems during our integration tests
so it may be possible that they are related to the high load
on the production server (between 250 and 300 queries/s).
Thanks for your help
--
Joseph Bueno
-------- Original Message --------
Subject: Re: index corruption and mysqld crash
Date: Fri, 12 Jan 2001 17:23:48 +0100
From: Joseph Bueno <[EMAIL PROTECTED]>
To: Rolf Hopkins <[EMAIL PROTECTED]>
CC: [EMAIL PROTECTED]
References: <[EMAIL PROTECTED]>
<006901c07c34$c5ea8ac0$5e00a8c0@waytech>
Thank you for your help but there is no cron job that kills
the process.
I also got an answer that was not CC'd to the list that
suggested me to install 3.23.
I have installed 3.23 (mysqld Ver 3.23.30-gamma for pc-linux-gnu
on i686) today since I had a lot of users
complaining and could not spend time investigating the problem.
In order to be sure of data integrity, I made a mysqldump with
3.22, removed 3.22, installed 3.23, created a new database from
mysqldump result and ran myisamchk before restarting our web
server (there was no corrupt data at that time).
After 2 hours of MySQL running with an average of 250 requests/s
without crashing (that's the good news ;),
I shut down MySQL and ran myisamchk, one of the table was corrupt !
The message from myisamchk was:
Checking MyISAM file: message.MYI
Data records: 896368 Deleted blocks: 0
- check file-size
- check key delete-chain
- check record delete-chain
- check index reference
- check data record references index: 1
- check data record references index: 2
/usr/bin/myisamchk: error: Key 2 doesn't point at same records that key
1
- check record links
/usr/bin/myisamchk: error: Keypointers and record positions doesn't
match
MyISAM-table '/msqldb/mysql/rencontre/message.MYI' is corrupted
Fix it using switch "-r" or "-o"
So, since installing a new version is not an option anymore,
let me ask again :
Is it possible to run myisamchk while mysqld is running ?
In this case, is it enough to remove --skip-locking option
(set in safe_mysqld) or should I also add --enable-locking ?
Also, what will be the impact on performance with this option ?
Does anybody have any suggestion on where I could look
in order to find what is causing these corruptions ?
Thanks for your help
--
Joseph Bueno
NetClub/Trader.com
Rolf Hopkins wrote :
>
> I can think of only one suggestion. See if there is a cron job or something
> killing a process. I doubt it though. Hope it helps.
>
> ----- Original Message -----
> From: "Joseph Bueno" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Friday, January 12, 2001 1:31
> Subject: index corruption and mysqld crash
>
> > Hello,
> >
> > I have switched this morning our Web server from mSQL to MySQL.
> > I am using MySQL 3.22.32 installed from MySQL-3.22.32-1.i386.rpm
> > on a Linux server (RedHat 6.2).
> >
> > mysqld dies very ofen (uptime is between 2mn and 20mn) and
> > the only messages I have in error file look like :
> >
> > Number of processes running now: 1
> > mysqld process hanging, pid 10827 - killed
> > mysqld restarted on jeu jan 11 17:35:58 CET 2001
> > /usr/sbin/mysqld: ready for connections
> >
> > Number of processes running now: 1
> > mysqld process hanging, pid 7973 - killed
> > mysqld restarted on jeu jan 11 17:38:25 CET 2001
> > /usr/sbin/mysqld: ready for connections
> >
> >
> >
> > I have shut down mysqld several times and run isamchk.
> > Each time, I had to repair at least one table.
> >
> > Is it possible to run isamchk while mysqld is running ?
> >
> > In this case, is it enough to remove --skip-locking option
> > (set in safe_mysqld) or should I also add --enable-locking ?
> >
> > Does anybody have any suggestion on where I could look
> > in order to find what is causing these corruptions ?
> >
> > Thanks for your help
> > --
> > Joseph Bueno
> > NetClub/Trader.com
> >
> > ---------------------------------------------------------------------
> > 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
>
> ---------------------------------------------------------------------
> 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
---------------------------------------------------------------------
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
---------------------------------------------------------------------
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