|
Nel recovery del database master, in seguito al crash odierno (21 Novembre 2006) ho scoperto alcune cose interessanti su Mysql che merita la pena di condividere.
Temporary Directory Mysql crea tutti i file in una directory temporanea. Bella scoperta, e di default è (incredibile) /var/tmp. I file temporanei di Mysql sono solitamente query cachate, join fra table che non ci stanno in memoria e amenità del genere. Questo vuol dire che i temporanei di Mysql su un server con 2 GB di Memoria dedicato a Mysql possono diventare tranquillamente 'qualche' GB. Inoltre la directory è utilizzata anche per le ricostruzioni delle tabelle (comando REPAIR TABLE). Quindi se non riuscite a capire perchè fallisce la ricostruzione di una tabella che tra dati ed indici prende un paio di GB, forse è meglio che verifichiate di aver messo la temporary dove c'è uno spazio enorme. Per settare la direcoty temporanea basta mettere tmpdir=/verylarge/tmp nel file my.cnf DNS Senza DNS mysql non funziona! o meglio funziona, parte, accetta connessioni locali e poi lascia tutte le connessioni remote nello stato login, fino a quando non va in timeout il client. si raggiungono le 10000 connessioni in un batter d'occhio. con errrori del tipo: Host bloccato, Out of memory, no thread... Slave Se configurate una infrastruttura di rete con DB master e slave, pensando di utilizzare lo slave nel momento in cui il master tira le cuoia, prendete i due server con le stesse caratteristiche! Altrimenti vi ritrovate con uno slave su cui vedete impietosamente le connessioni aumentare a dismisura, i client soffrire perchè non ottengono risposta alle query e i clienti (quelli veri di ciccia) chiamare perchè outlook dice che il server di posta non è raggiungibile. Tanto valeva non metterlo! Repair table Se dovete per forza eseguire un repair table aggiungete l'opzione NO_BIN_LOG altrimenti l'operazione viene scritta nel log binario e passata allo slave che la esegue! Se interrompete l'operazione sullo slave perchè, dite, la tabella non ne ha bisogno, allora sì che viene marcata come 'crashed' e che non ci riuscite più ad accedere. |