mysql 在存儲過程中輸出日誌信息

直接用select 打印輸出

SELECT 'Comment';

用concat連接變量輸出

declare myvar INT default 0;
SET myvar = 5;
SELECT concat('myvar is ', myvar);

輸出: myvar is 5

格外創建一個有一列文本列的表,然後往裏面塞信息

declare myvar INT default 0;
SET myvar = 5;
insert into tmptable select concat('myvar is ', myvar);

將上面的sql語句封裝成一個存儲過程log,以後要用的話就直接調用下面的語句就可以了

CALL log(concat('the value is', myvar));

直接輸出到一個文本里面

select "penguin" as log into outfile '/tmp/result.txt';

這個命令會有嚴格的限制,只能將輸出文本放在本地,然後給予其創建和寫的權限
一旦輸出了一個文本,無法重寫,這樣可以阻止惡意執行sql注入

參考地址

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章