के बाद से CP/WHM PHPMyAdmin में रूट के रूप में उपयोगकर्ता विशेषाधिकार संशोधित करने की क्षमता छीन लिया है, तो आप करने के लिए कमांड लाइन का उपयोग करने की क्या ज़रूरत है:
mysql> GRANT FILE ON *.* TO 'user'@'localhost';
चरण 2 है उस उपयोगकर्ता को किसी विशिष्ट फ़ोल्डर में फ़ाइल को डंप करने की अनुमति देने के लिए। ऐसा करने के कई तरीके हैं, लेकिन मैं में एक फ़ोल्डर डाल समाप्त हो गया:
/home/user/tmp/db
और
chown mysql:mysql /home/user/tmp/db
mysql उपयोगकर्ता फ़ाइल लिखने की अनुमति देता है। जैसा कि पिछले पोस्टर्स ने कहा है, आप MySQL temp फ़ोल्डर का भी उपयोग कर सकते हैं, मुझे नहीं लगता कि यह वास्तव में मायने रखता है लेकिन आप निश्चित रूप से इसे 0777 अनुमति (विश्व-लिखने योग्य) बनाना नहीं चाहते हैं जब तक कि आप दुनिया को अपना डेटा नहीं देखना चाहते। यदि आप फ़ाइल को मौजूद करते हैं तो INTO OUTFILE
काम नहीं करेगा, तो प्रक्रिया को कुल्ला दोहराना चाहते हैं तो एक संभावित समस्या है। यदि आपकी फाइलें किसी भिन्न उपयोगकर्ता के स्वामित्व में हैं तो बस unlink($file)
पर काम नहीं करेगा। तुम मुझे पसंद कर रहे हैं (0777 के बारे में पागल) तो आप का उपयोग कर अपने लक्ष्य निर्देशिका सेट कर सकते हैं:
chmod($dir,0777)
सिर्फ एसक्यूएल आदेश,
chmod($dir,0755)
तुरंत बाद कर तो करने से पहले, करने के लिए unlink(file)
द्वारा पीछा किया फ़ाइल हटाएं। यह सब आपके वेब उपयोगकर्ता के तहत चल रहा है और mysql उपयोगकर्ता को आमंत्रित करने की आवश्यकता नहीं है।
"सभी प्राइवेट" में सभी विशेषाधिकार शामिल नहीं हैं। इस मामले के लिए प्रासंगिक, इसमें 'FILE' विशेषाधिकार शामिल नहीं है, जिसे 'आउटलेट में आउटलेट' विवरणों के लिए आवश्यक है।मुझे अंग्रेजी और MySQL के बीच इस विसंगति के साथ कई परेशानी हुई हैं: http://dba.stackexchange.com/a/96894/53784 – WAF