I've been experiencing a weird issue with one of MySQL DBs. Every day, sometimes 2-3 times per day, I'll need to repair the tables. The MySQL DB has 25 tables with 5.6m rows in total.
The bigger ones are:
Table A - 599k rows / 867MB Table B - 2.1m rows / 146MB Table C - 2.2m rows / 520MB
It seems table C needs to be repaired pretty frequently, Tables A & B not as much.
When the table needs to be repaired, I'm not seeing it being marked as crashed or in use. But through other tools, I can see the data is not what it should be.
When I do repair the table, I'll see a message similar to:
[table c] repair info Wrong bytesec: 54-55-102 at 368251940; Skipped [table c] repair warning Number of rows changed from 2127934 to 2127931
[table c] repair info Wrong bytesec: 171-30-101 at 341237312; Skipped [table c] repair warning Number of rows changed from 1984585 to 1984582
I've tried making adjustments in my.cnf but no difference.
The server is a cloud server running both MySQL and Apache. Plenty of space available on all HDs:
Filesystem Size Used Avail Use% Mounted on /dev/xvda2 99G 14G 80G 15% / tmpfs 1.9G 0 1.9G 0% /dev/shm /dev/xvda1 97M 49M 44M 53% /boot /dev/xvdc1 296G 25G 257G 9% /data
I'm not sure if this is a problem with the cloud HD, the server or the tables themselves. The problem didn't start happening until about 2 months ago and the size of the DB has only changed by 300-400MB until now.
Any idea what I should be looking at to verify where the problem might be?
Using MySQL v5.1.66 and MyISAM
Thanks in advance.