Možnost 1:Vložte toto do svého postupu, chcete-li vytisknout „komentář“ na stdout, když se spustí.
SELECT 'Comment';
Možnost 2:Vložte toto do svého postupu pro tisk proměnné s ní do stdout:
declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);
Toto vytiskne myvar is 5
na stdout při spuštění procedury.
Možnost 3:Vytvořte tabulku s jedním textovým sloupcem s názvem tmptable
a odeslat do něj zprávy:
declare myvar INT default 0;
SET myvar = 5;
insert into tmptable select concat('myvar is ', myvar);
Výše uvedené byste mohli vložit do uložené procedury, takže vše, co byste museli napsat, je toto:
CALL log(concat('the value is', myvar));
Což ušetří pár úhozů.
Možnost 4, Protokolovat zprávy do souboru
select "penguin" as log into outfile '/tmp/result.txt';
Tento příkaz má velmi přísná omezení. Výstupní soubor můžete zapsat pouze do oblastí na disku, které dávají skupině „ostatní“ oprávnění k vytváření a zápisu. Mělo by fungovat uložení do adresáře /tmp.
Také jakmile zapíšete výstupní soubor, nemůžete jej přepsat. To má zabránit crackerům v rootnutí vašeho boxu jen proto, že do vašeho webu vložili SQL a mohou spouštět libovolné příkazy v MySQL.