[Tech] mysql: log-slow-queries e crontab

Szymon Stefanek pragma@firenze.linux.it
Lun 15 Maggio 2006 17:18:03 CEST


On Monday 15 May 2006 14:37, Aldo Podavini wrote:
> /etc/my.cnf riporta:
> log-slow-queries=/var/log/slow-queries.log
> [...]
> Al successivo venerdi logrotate ha correttamente ridenominato il file
> /var/log/slow-queries.log in /var/log/slow-queries.log.1 , e ha creato
> un /var/log/slow-queries.log vuoto.
>
> MA, succede questo:
>
> [root@hamlet2 bordereau]# lsof | grep slow
> mysqld      770   mysql    5w   REG        9,2    81771    3735771
> /var/log/slow-queries.log.1

Perchè al momento del rotate (ovvero dell'esecuzione di mv) il file è ancora 
aperto da mysql. 

Fai questo test:

# cat > test.txt

in un altro terminale

# lsof | grep test
# mv test.txt test2.txt
# lsof | grep test

Vedrai che la seconda chiamata riporta test2.txt invece di test, eppure il 
file è lo stesso.

Un processo manipola un file aperto attraverso il suo inode e non attraverso 
il suo nome. Il nome si trova nella directory e di fatto serve soltanto a 
trovare l'inode la prima volta (durante l'apertura appunto).

Il comando mv, se eseguito su un singolo filesystem cambia soltanto la 
directory e non tocca l'inode. lsof esegue una "mappatura inversa": analizza 
gli inode aperti da un processo e risale alle loro entry nella directory... 
che dal momento dell'apertura del file potrebbero essere cambiate, anche 
radicalmente:

# rm -f test2.txt
# lsof | grep test

Insomma... .devi forzare mysql a chiudere e riaprire il file, probabilmente 
restartandolo.

> Ovviamente ho provato a riavviare mysqld , ma non cambia niente.

Hum.. sicuro ?

-- 

Szymon Stefanek

------------------------------------------------------------------------------
-
- Any sufficiently advanced technology is indistinguishable from magic.
-
------------------------------------------------------------------------------
-------------- parte successiva --------------
Un allegato non testuale è stato rimosso....
Nome:        non disponibile
Tipo:        application/pgp-signature
Dimensione:  189 bytes
Descrizione: non disponibile
URL:         <http://lists.linux.it/pipermail/flug-tech/attachments/20060515/b0038d7b/attachment.pgp>


Maggiori informazioni sulla lista flug-tech