2012-12-14 15 views
5

का उपयोग करने के लिए न्यूनतम डेटाबेस विशेषाधिकार मैं एक तालिका में डेटा को टीएसवी फ़ाइल से मूल्यों के साथ बदलने के लिए mysqlimport का उपयोग कर रहा हूं। सब कुछ ठीक काम कर रहा है (डीबी सुपरसुर नाम और पासवर्ड का उपयोग कर डेटा आयात कर रहा है), इसलिए अब मैं इसे लॉक करना चाहता हूं ताकि आयात करने वाला डेटाबेस उपयोगकर्ता केवल उस तालिका को प्रभावित कर सके जिसे मैं प्रतिस्थापित करना चाहता हूं।लोड डेटा infile

मुझे पता है कि मुझे पर फ़ाइल प्रदान करने की आवश्यकता है। "लोड डेटा इन्फाइल" (जो mysqlimport wraps) का उपयोग करने के लिए, लेकिन मुझे डेटाबेस पर अनुमोदित न्यूनतम अनुमतियों को सेट करने में समस्या हो रही है।

मैंने कोशिश की है;

grant FILE on *.* to ... 
grant ALL on dbname.tablename to .... 

लेकिन जब मैं mysqlimport चलाता हूं तो मुझे एक त्रुटि देता है;

mysqlimport: Error: Access denied for user ... 

किसी को भी पता है अगर यह डेटाबेस को अलग करने के लिए इतना है कि केवल प्रासंगिक तालिका इस उपयोगकर्ता द्वारा बदला जा सकता है संभव है, या मैं mysqlimport संभव बनाने के लिए उन्हें व्यापक उपयोग की अनुमति है?

+0

आप जानते हैं कि 'FILE' 'ALL' में नहीं है? यह एक गलत नाम है। फिर फिर, यदि आपको पहुंच से वंचित कर दिया जाता है, तो इससे पहले उपयोगकर्ता नाम, होस्ट या पासवर्ड विफल हो जाता है। – Wrikken

+0

संभव डुप्लिकेट [MySQL में लोड डेटा infile के लिए पहुंच अस्वीकृत] (http://stackoverflow.com/questions/2221335/access-denied-for-load-data-infile-in-mysql) – blo0p3r

उत्तर

1

अपने ही सवाल का जवाब देने को देखने मैं इसे एक डेटाबेस उपयोगकर्ता कम से कम ड्रॉप करने के लिए अनुमतियां हैं उपयोग किए बिना एक तालिका में डेटा को बदलने के लिए mysqlimport का उपयोग करें और किसी भी तालिका बनाने के लिए संभव है नहीं लगता है डेटाबेस।

mysqlimport फ़ाइल आप तय करने के लिए जो तालिका डेटा में चला जाता है लोड कर रहे हैं के नाम का उपयोग करता है, तो यह इस अर्थ में कि इसे छोड़ और पुन: किसी भी तालिका करने में सक्षम होने की जरूरत है बनाता है, न सिर्फ तालिका मैं चाहता हूँ इसे प्रतिस्थापित करने में सक्षम होना चाहिए।

करुणा।

संबंधित मुद्दे