Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में संग्रहीत कार्यविधि से डिबगिंग जानकारी प्रिंट करें

विकल्प 1:'टिप्पणी' को प्रिंट करने के लिए इसे अपनी प्रक्रिया में रखें जब यह चलता है।

SELECT 'Comment';

विकल्प 2:इसके साथ एक वेरिएबल को प्रिंट करने के लिए इसे अपनी प्रक्रिया में रखें:

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

यह प्रिंट करता है myvar is 5 प्रक्रिया चलने पर स्टडआउट करने के लिए।

विकल्प 3, tmptable नामक एक टेक्स्ट कॉलम के साथ एक टेबल बनाएं , और उस पर संदेश पुश करें:

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

आप उपरोक्त को एक संग्रहित प्रक्रिया में रख सकते हैं, इसलिए आपको बस इतना ही लिखना होगा:

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

जो कुछ कीस्ट्रोक्स बचाता है।

विकल्प 4, फाइल करने के लिए संदेश लॉग करें

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

इस आदेश पर बहुत भारी प्रतिबंध हैं। आप केवल डिस्क पर उन क्षेत्रों के लिए आउटफाइल लिख सकते हैं जो 'अन्य' समूह को बनाने और लिखने की अनुमति देते हैं। इसे इसे /tmp निर्देशिका में सहेजने का काम करना चाहिए।

साथ ही एक बार जब आप आउटफाइल लिख लेते हैं, तो आप उसे अधिलेखित नहीं कर सकते। यह क्रैकर्स को आपके बॉक्स को रूट करने से रोकने के लिए है क्योंकि उन्होंने आपकी वेबसाइट को SQL इंजेक्ट किया है और MySQL में मनमानी कमांड चला सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL अस्थायी तालिका में शामिल हुए बिना GROUP BY DATE(table.timestamp) का उपयोग करते समय लापता तिथियों को भरने के लिए

  2. mysql कस्टम सॉर्ट

  3. 8GB mysql डंप के आयात में लंबा समय लगता है

  4. MySQL का उपयोग करके विदेशी कुंजी के साथ तालिका में मान कैसे सम्मिलित करें?

  5. डुप्लिकेट प्रविष्टि की जाँच करें बनाम PDO errorInfo परिणाम का उपयोग करें