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

Reply via email to