मैं जानना चाहूंगा कि क्या mysql क्वेरी के लिए उपयोगकर्ता का उपयोगकर्ता नाम वापस करने का कोई तरीका है जो क्वेरी जारी करता है।
क्या यह संभव है?
मैं जानना चाहूंगा कि क्या mysql क्वेरी के लिए उपयोगकर्ता का उपयोगकर्ता नाम वापस करने का कोई तरीका है जो क्वेरी जारी करता है।
क्या यह संभव है?
जवाबों:
CURRENT_USER()फ़ंक्शन का प्रयास करें । यह उस उपयोगकर्ता नाम को लौटाता है जिसका उपयोग MySQL ने आपके क्लाइंट कनेक्शन को प्रमाणित करने के लिए किया था। यह वह उपयोगकर्ता नाम है जो आपके विशेषाधिकार निर्धारित करता है।
यह क्लाइंट द्वारा MySQL को भेजे गए उपयोगकर्ता नाम से भिन्न हो सकता है (उदाहरण के लिए, MySQL आपके ग्राहक को प्रमाणित करने के लिए अनाम खाते का उपयोग कर सकता है, भले ही आपने उपयोगकर्ता नाम भेजा हो)। यदि आप चाहते हैं कि कनेक्ट करने के दौरान USER()फ़ंक्शन का उपयोग करते समय उपयोगकर्ता नाम MySQL को भेजा जाए ।
मान सर्वर से कनेक्ट करते समय आपके द्वारा निर्दिष्ट उपयोगकर्ता नाम और क्लाइंट होस्ट को इंगित करता है जिससे आप जुड़े थे। मान CURRENT_USER () से भिन्न हो सकता है।
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CURRENT_USER()' at line 1
CURRENT_USER()सवाल के लिए सही नहीं था "क्या mysql में आपका * वर्तमान उपयोगकर्ता नाम जानने का कोई तरीका है ?"। उत्तर "USER ()" था, जो "वर्तमान MySQL उपयोगकर्ता को लौटाता है" ( dev.mysql.com/doc/refman/5.7/en/… )। आपको अपना उत्तर अधिक पूर्ण होने के लिए अपडेट करना चाहिए, यह बहुत छोटा है।
या तो दौड़ने की कोशिश करो
SELECT USER();
या
SELECT CURRENT_USER();
यह कभी-कभी भिन्न हो सकता है, USER () आपके द्वारा प्रमाणित करने के लिए कौन सा लॉगिन करके लौटेगा और CURRENT_USER () वापस आ जाएगा, जिसे आपको वास्तव में प्रमाणित करने की अनुमति थी।
आप उपयोग कर सकते हैं:
SELECT USER();
या
SELECT CURRENT_USER();
यहाँ और देखें http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function_current-user
डेटाबेस का उपयोग करने वाले वर्तमान उपयोगकर्ता को प्रिंट करने के लिए
select user();
या
select current_user();
आप यह भी उपयोग कर सकते हैं: mysql> उपयोगकर्ता का चयन करें, mysql.user से होस्ट करें;
+---------------+-------------------------------+
| user | host |
+---------------+-------------------------------+
| fkernel | % |
| nagios | % |
| readonly | % |
| replicant | % |
| reporting | % |
| reporting_ro | % |
| nagios | xx.xx.xx.xx |
| haproxy_root | xx.xx.xx.xx
| root | 127.0.0.1 |
| nagios | localhost |
| root | localhost |
+---------------+-------------------------------+
आप MySQL में CURRENT_USER () फ़ंक्शन के साथ वर्तमान उपयोगकर्ता नाम पा सकते हैं।
पूर्व के लिए:
SELECT CURRENT_USER();
लेकिन CURRENT_USER()हमेशा लॉग इन यूजर को नहीं लौटाएगा। इसलिए यदि आप उपयोगकर्ता में लॉग इन करना चाहते हैं, तो SESSION_USER()इसके बजाय उपयोग करें ।