Hello,
I have posted several emails to this list during the last few
days because of mysqld crashes and index corruptions. Since
then I have made several modifications to the server but I
still have occasional index corruptions (about one corruption
every two hours, the figure seems to vary with server load).
I will try to summarize all actions on the server:
Hardware platform :
Dell PowerEdge 2450 bipro PIII/733,
2Gb RAM,
integrated hardware RAID crontroller (PERC3)
with 2x18Gb disks configured
in RAID1 (mirroring) mode.
Operating system:
Linux RedHat 6.2 (kernel 2.2.14 SMP)
Our application (web service) is based on 2 databases that were
under mSQL (miniSQL), so we decided to migrate to MySQL in 2 steps:
migrate the smaller database (~ 20 Mb under mSQL) and migrate
the other (~800 Mb) one week later if we had no problem.
Operations summary:
Jan,3rd: Installation of MySQL 3.22.32 (latest stable version)
from binary RPM and migration of first database.
Jan,11th : Since we had no problem during one week, we migrated
second database. At that point, we had a lot of mysqld
crashes (its uptime varied between 2 and 20 mn !) and
a lot of index corruptions during all day.
Jan,12th: Upgrade from 3.22.32 to 3.23.30 from binary RPM.
mysqld does not crash anymore but indexes still get
corrupted very often (almost every hour). And I had
to use myisamchk with --safe-recover option at least
two times to recover one table.
In order to keep our webserver running in spite of these
problems, I have set up 2 cron jobs:
every 30mn:
stop mysqld
run myisamchk --check --medium-check --force
on all tables
start mysqld
once per day (at 3AM) :
stop mysqld
run myisamchk --safe-recover on all tables
start mysqld
I have also tried REPAIR TABLE from 'mysql' client
but when I ran CHECK TABLE just after it, it still
found problems. This is why I decided to use cron jobs
above.
Jan,13th: I have added --skip-delay-key-write
and --skip-concurrent-insert options to mysqld but I still
have occasional index corruptions.
I tried to use --safe-mode but I had to turn it off
after a few minutes, the server was so slow (less than
90 queries/s) that it made the webserver frontend almost
unusable (it needs to do at least 250 to 300 queries/s
to keep up with web requests).
I have also checked RedHat website for updates to glibc, but there
is none.
I have also downloaded 3.23.32 binary (tarball not RPM).
Since its mysqld executable is bigger than the one in RPM
(statically linked?), I am planning to use it instead of
the one from the RPM in case it has been linked with patched
libraries.
I received also an email suggesting to reboot my server in
single-CPU mode.
Does anybody know if one of these operations could help ?
Any other advice ?
(Remember, this is an heavily loaded webserver, I cannot
shutdown database service for more than a few minutes)
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