Portál AbcLinuxu, 22. května 2024 02:35
Zdravím,
už delší dobu se potýkám s problémem s MySQL databází, která dovedete běžet na serveru (Debian) nonstop třeba půl roku, ale pak přijde jeden nutný reboot serveru, po kterém do jednoho až třech dnů databáze spadne. Vypadá to tak, že load vzroste (ale někdy ne), databáze neodpovídá, ale zbytek běží normálně, apache atp. Při snaze mysql restartovat to vythuhne při jejím vypínání. Nezbyde tak nic jiného než restart celého serveru. Ten většinou pomohl a pak už to stabilně běželo "donekonečna" než jsem učinil časem další restart serveru.
Nějak jsem nedokázal přijít na to co by to mohlo dělat (a myslím, že ani v lozích nic nebylo). Proto jsem je vypnul. Někdo říkal, že to může být dokonce chyba logů. Navíc mi tak poklesla zátež.
Jenže teď se mi přihodila nemilá věc. Po nutném rebootu serveru jsem očekával, kdy to zase padne. A padlo... 2 dni na to. Tak jsem rebootoval server, jenže ouha. MySQL nenaběhlo a load na 30ti. Nechal jsem to 10 minut a stále nic. Opět nepomohlo nic jiného než reboot celého serveru, po kterém to už naběhlo úplně normálně.
Jenže tenhle druhý reboot mě vrátil do nechtěné smyčky a po 3 dnech to padlo zase. Opět pomohl až druhý reboot a opět čekám, kdy to zase klekne.
Teď ale co s tím. To první nenaskočení databáze po restartu serveru může být nejaká kontrola databáze po pádu a násilném restartu. Tuším, že pokud tu kontrolu přeruším dalším rebootem, příště se nespustí hned po startu, ale v záhadně načasovaném období jednoho až třech dnů (v cronu nic není). Bohužel během této kontroly databáze neběží a probíhat může taky hodinu nebo 2 a protože si to samozřejmě nenačasuje na noc, nemůžu si dovolit ji doběhnout kvůli dostupnosti serveru.
To s tou kontrolou je ale jen domněnka, možná je to něco úplně jiného. Nemáte někdo tušení co? Přemýšlím o opětovném zapnutí logů. Ale jestli mě pamět neklame, tak jsem v nich loni opravdu nic nenašel a jejich zapnutím bych snížil výkon už tak celkem vytíženého serveru na třeba i 3 dny. Když nebude na výběr, učiním tak, ale než to udělám. Nemáte někdo podobnou zkušenost nebo tušení v čem by mohl být problém?
Předem díky za případné podnětné reakce.
No nebudu se přít, moc toho o tom nevím, ale všiml jsem si, že dokonce v samotném my.cnf je uvedeno:
# Be aware that this log type is a performance killer.
#log = /var/log/mysql/mysql.log
Na tom něco bude :) jenže jak hledám tak hledám, pořád nemůžu najít jak bych ten log zapnul přes nějakej konfigurační soubor, aniž bych musel měnit parametry při spouštění mysql. Výstupem tuším bude /var/log/mysql.err, který je teď prázdný. Přijde mi to jako naprosto nejzákladnější záležitost, na kterou se po netu bude válet miliony návodů a ono nic.
Tiskni Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.