Alternativ 1:Lägg in detta i din procedur för att skriva ut "kommentar" till stdout när den körs.
SELECT 'Comment';
Alternativ 2:Lägg detta i din procedur för att skriva ut en variabel med den till stdout:
declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);
Detta skriver ut myvar is 5
till stdout när proceduren körs.
Alternativ 3, Skapa en tabell med en textkolumn som heter tmptable
och skicka meddelanden till den:
declare myvar INT default 0;
SET myvar = 5;
insert into tmptable select concat('myvar is ', myvar);
Du kan lägga ovanstående i en lagrad procedur, så allt du behöver skriva är detta:
CALL log(concat('the value is', myvar));
Vilket sparar några knapptryckningar.
Alternativ 4, Logga meddelanden till fil
select "penguin" as log into outfile '/tmp/result.txt';
Det finns mycket tunga restriktioner för detta kommando. Du kan bara skriva utfilen till områden på disken som ger gruppen "andra" skapa- och skrivbehörigheter. Det borde fungera att spara det till /tmp-katalogen.
När du väl har skrivit utfilen kan du inte skriva över den. Detta för att förhindra att crackers rotar din box bara för att de har SQL-injicerat din webbplats och kan köra godtyckliga kommandon i MySQL.