This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

Creating a trace file

Se mysqld va in crash, un buon modo per identificare il problema è creare un trace file.

Un binario di mysqld che è stato compilato con il supporto al debug può creare dei trace file utilizzando il pacchetto DBUG creato da Fred Fish. Per sapere se un binario di mysqld ha il supporto per il debug, si può eseguire mysqld -V alla riga di comando. Se il numero di versione termina con -debug, allora il binario mysqld è stato compilato per il debug.

Si veda Compilare MariaDB per il debug per sapere come creare un binario di mysqld con il debug abilitato.

Per creare un trace log, si avvii mysqld in questo modo:

mysqld --debug

Su Windows, il mysqld di debug si chiama mysqld-debug ed è meglio usare anche l'opzione --standalone. Perciò su Windows il comando è di questo tipo:

mysqld-debug --debug --standalone

Una volta avviato il server, si usi il normale client da riga di comando mysql (o un altro client) per connettersi e lavorare sul server.

Terminato il debug, il server si arresta così:

mysqladmin shutdown

Opzioni di DBUG

I trace file possono crescere fino a dimensioni significative. E' possibile ridurle dicendo al server di registrare solo certi elementi.

Il flag --debug può accettare opzioni aggiuntive nella forma di una stringa di opzioni delimitate dal carattere di due punti (:). Le singole opzioni possono contenere liste di opzioni separate da virgole.

Per esempio:

mysqld --debug=d,info,error,query:o,/tmp/mysqld.trace

L'opzione 'd' limita l'output alle macro con un nome del tipo: DBUG_<N>. Nell'esempio, il trace file contiene l'output delle macro info, error e query. 'd' da sola (senza sotto-opzioni) seleziona tutte le macro DBUG_<N>.

L'opzione 'o' reindirizza l'output ad un file ('/tmp/mysqld.trace' nell'esempio), sovrascrivendolo se già esiste.

Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.