Ik heb een mySQL database die voornamelijk bestaat uit een myISAM tabel van ongeveer vier miljoen rijen bestaande uit een autoincrement-id, enkele numerieke waarden en een varchar met daarop een UNIQUE en FULLTEXT index.
Met deze database wordt verbinding tegelijkertijd gemaakt door verscheidene TCL scripts, ik gebruik mysqltcl om vanuit TCL de database aan te kunnen spreken.
Dit heeft jarenlang goed gewerkt, zomaar ogenschijnlijk uit het niets bleven opeens queries hangen. In de status kolom van "SHOW PROCESSLIST" stonden verschillende queries voor "SHOW DATABASES" open met in de statuskolom de tekst "** DEAD **". In de logbestanden stonden verder geen foutmeldingen.
mySQL kreeg ik vervolgens niet afgesloten met het script uit init.d (bleef hangen), een "kill -9" is telkens nodig.
Versies:
OS: Ubuntu Hardy LTS
mySQL: "mysqld Ver 5.0.51a-3ubuntu5.4-log for debian-linux-gnu on i486 ((Ubuntu))"
(gewoon uit de repos dus)
Wat ik al heb gedaan om dit probleem op te lossen:
Iemand een idee wat hier aan de hand kan zijn?
Met deze database wordt verbinding tegelijkertijd gemaakt door verscheidene TCL scripts, ik gebruik mysqltcl om vanuit TCL de database aan te kunnen spreken.
Dit heeft jarenlang goed gewerkt, zomaar ogenschijnlijk uit het niets bleven opeens queries hangen. In de status kolom van "SHOW PROCESSLIST" stonden verschillende queries voor "SHOW DATABASES" open met in de statuskolom de tekst "** DEAD **". In de logbestanden stonden verder geen foutmeldingen.
mySQL kreeg ik vervolgens niet afgesloten met het script uit init.d (bleef hangen), een "kill -9" is telkens nodig.
Versies:
OS: Ubuntu Hardy LTS
mySQL: "mysqld Ver 5.0.51a-3ubuntu5.4-log for debian-linux-gnu on i486 ((Ubuntu))"
(gewoon uit de repos dus)
Wat ik al heb gedaan om dit probleem op te lossen:
- "myisamcheck -r" op alle .MYI's uit alle databases.
- reboot
- memtest86+ een tijd laten lopen, geen fouten gevonden.
- De nieuwste mysql versie gecompileerd (5.1.40) met een andere --prefix, die laten draaien op een kopie van /var/lib/mysql en vervolgens mysql_upgrade gedraaid. De fout trad nog steeds op. Nu stond er echter niet "** DEAD **" in processlist maar oneindig "executing".
- De mysqltcl versie van de ubuntu repos vervangen door laatste en zelf gecompileerde versie.
- Vrije schijfruimte gecheckt.
- Alle tabellen uit alle databases gedumped, gedropped en opnieuw aangemaakt.
- "apt-get install --reinstall" voor alle mysql componenten.
Iemand een idee wat hier aan de hand kan zijn?
[ Voor 6% gewijzigd door JasperE op 15-11-2009 21:03 ]