क्या डेटाबेस बनाने के लिए रूट के अलावा किसी अन्य उपयोगकर्ता के लिए यह संभव है?किसी MySQL उपयोगकर्ता को डेटाबेस बनाने के लिए किस अनुमति की आवश्यकता है?
GRANT SELECT, CREATE ON *.* TO 'myguy'@'thatmachine' IDENTIFIED BY PASSWORD '*12057DFA2BFBD8760D4788735B1C3E26889D7ECE' |
GRANT ALL PRIVILEGES ON `db1`.* TO 'myguy'@'thatmachine'
GRANT ALL PRIVILEGES ON `db2`.* TO 'myguy'@'thatmachine'
मुझे आश्चर्य है कि यहां क्या विशेषाधिकार गुम है? इसके अलावा, पहली पंक्ति में पासवर्ड क्यों जुड़ा हुआ है?
अद्यतन
मुझे आगे स्पष्ट क्या मेरे सवाल की बात है करते हैं। मेरे पास दो डेटाबेस मशीन, स्रोत और लक्ष्य हैं। स्रोत मशीन पर कई ग्राहक डेटाबेस हैं। मुझे उन स्रोत डेटाबेस को अन्य लक्ष्य मशीन पर ले जाने की आवश्यकता है।
डेटाबेस mysqldump'ed .sql फ़ाइलों के रूप में हैं, जो स्रोत से लक्ष्य तक sftp'd हैं। लक्ष्य उपयोगकर्ता, रूट नहीं, फिर प्रत्येक .sql फ़ाइल से स्थानीय रूप से डेटाबेस को पुन: बनाना चाहिए, कुछ क्रियाएं करें, फिर डेटाबेस ड्रॉप करें।
मुझे इन विशेषाधिकारों को लक्षित उपयोगकर्ता को *.*
पर वैश्विक विशेषाधिकार दिए बिना देने का कोई तरीका नहीं मिल रहा है, जो प्रभावी रूप से उस उपयोगकर्ता को रूट के रूप में खतरनाक बनाता है।
दिलचस्प। ठीक है, यहाँ एक विचार है। लक्ष्य मशीन पर mysql का उपयोग करने के बजाय, विशेष रूप से इस लेनदेन के लिए वैकल्पिक डेटाबेस का उपयोग करें। SQLite, या उन पंक्तियों के साथ कुछ। इस तरह, उनकी अनुमतियों के पास किसी भी पूरी तरह से परिचालन डेटाबेस से कोई लेना देना नहीं है, इनका उपयोग केवल अस्थायी डेटाबेस और कार्यों के साथ किया जा सकता है। आपको कुछ स्क्रिप्ट बदलना पड़ सकता है, या क्या नहीं, लेकिन आप इस तरह से अधिक सुरक्षित रहेंगे। इस विशिष्ट उपलब्धि के लिए, नियंत्रण की एक छोटी जेब बनाएं, और उसके बाद इसे खत्म कर दें। कुछ अतिरिक्त काम हो सकता है - लेकिन यह समस्या को ठीक करेगा। –