मैं एक MySQL सेलेक्ट इन्टु ओटमीटर स्टेटमेंट का उपयोग करके एक csv फ़ाइल में तालिका की सामग्री को डंप करने की कोशिश कर रहा हूं। यदि मैं करता हूँ:
SELECT column1, column2
INTO OUTFILE 'outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
outfile.csv को उसी निर्देशिका में सर्वर पर बनाया जाएगा जो इस डेटाबेस की फ़ाइलों में संग्रहीत है।
हालाँकि, जब मैं अपनी क्वेरी को इसमें बदलता हूँ:
SELECT column1, column2
INTO OUTFILE '/data/outfile.csv'
FIELDS TERMINATED BY ','
FROM table_name;
मुझे मिला:
ERROR 1 (HY000): Can't create/write to file '/data/outfile.csv' (Errcode: 13)
Errcode 13 एक अनुमति त्रुटि है, लेकिन मैं इसे तब भी प्राप्त करता हूं, जब मैं mysql: mysql के लिए / डेटा का स्वामित्व बदलता हूं और इसे 777 अनुमतियां देता हूं। MySQL उपयोगकर्ता "mysql" के रूप में चल रहा है।
अजीब रूप से मैं फ़ाइल को / tmp में बना सकता हूं, बस मैंने किसी अन्य निर्देशिका में कोशिश नहीं की है, यहां तक कि अनुमतियों के साथ सेट किया गया है ताकि उपयोगकर्ता mysql निर्देशिका में लिखने में सक्षम हो।
यह उबंटू पर चलने वाला MySQL 5.0.75 है।
/tmp
।