2011-10-06 7 views
10

मेरे पास एक डेटाबेस है जहां मैं उपयोगकर्ताओं को नए उपयोगकर्ता बनाने में सक्षम होना चाहता हूं।मैं गैर-रूट उपयोगकर्ता के रूप में "उपयोगकर्ता को बनाने का अनुदान कैसे दूं?"

grant create user on *.* to foo; 

यह महान काम करता है और foo उपयोगकर्ताओं बना सकते हैं: यही कारण है कि उपयोगकर्ता बनाने के रूप में इस GRANT के माध्यम से प्राप्त है। मेरी समस्या यह है कि ऊपर की रेखा रूट के रूप में चलाने पर काम करती है, लेकिन सामान्य उपयोगकर्ता के रूप में चलाने पर काम नहीं करती है, भले ही ऐसे उपयोगकर्ता के पास पहले से ही उपयोगकर्ता विशेषाधिकार बनाएं।

संक्षेप में, सामान्य उपयोगकर्ता उपयोगकर्ताओं को बनाने की क्षमता का प्रतिनिधित्व नहीं कर सकते हैं। मैं किसी भी विशेष विशेषाधिकार के लिए दूर और व्यापक खोज कर रहा हूं, आपको ऐसा करने में सक्षम होना चाहिए, और मुझे लगता है कि यह ऐसा कुछ है जो केवल रूट कर सकता है, हालांकि मुझे MySQL दस्तावेज़ में इसका कोई सबूत नहीं मिला है।

प्रश्न: मैं एक सामान्य उपयोगकर्ता को नए उपयोगकर्ताओं को उपयोगकर्ताओं को बनाने की अनुमति कैसे दे सकता हूं?

उत्तर

7

अनुदान के बाद क्वेरी चलाने के लिए प्रयास करें:

FLUSH PRIVILEGES; 
8

दोनों जवाब उपयोगी थे - मैं दोनों के संयोजन का इस्तेमाल किया और यह काम किया है लगता है।

जड़ के रूप में (व्यवस्थापक एक सामान्य उपयोगकर्ता है):

mysql> grant create user on *.* to admin with grant option; 
Query OK, 0 rows affected (0.00 sec) 

mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec) 

व्यवस्थापक के रूप में (याद है, वह एक सामान्य उपयोगकर्ता है):

mysql> grant create user on *.* to foo with grant option; 
Query OK, 0 rows affected (0.00 sec) 

बहुत बहुत शुक्रिया।

4
-- Create username user 

GRANT ALL PRIVILEGES ON `tshirtshop`.* 
     TO 'username'@'localhost' IDENTIFIED BY 'password' 
     WITH GRANT OPTION; 
संबंधित मुद्दे