मैं MySQL लोड त्रुटि को कैसे ठीक कर सकता हूं




csv import (3)

मुझे पूरा यकीन नहीं है कि यह एक ही सवाल है जिसे मैं बंद कर रहा था, मैं निम्नलिखित MySQL प्रोग्राम निष्पादित करने का प्रयास कर रहा हूं।

mysql -e "load data local infile \
'/tmp/ept_inventory_wasp_export_04292013.csv' into \
table wasp_ept_inv fields terminated by ',' \
lines terminated by '\n' ;"

बैश कमांड लाइन पर और यह त्रुटि प्राप्त करें

ERROR 1148 (42000) at line 1: The used command is not allowed with this MySQL version

मैं इस समस्या को कैसे हल करूं?

मैं वास्तव में एक पायथन प्रोग्राम से इस कमांड को चला रहा हूं, लेकिन बैश कमांड लाइन पर इसके साथ झुकाव करने के लिए कमांड को खींच लिया।

मैंने देखा है कि मैं my.cnf (स्थानीय-infile) को कैसे संशोधित कर सकता हूं, लेकिन मैं नहीं चाहता कि ग्लोबल एक बदलाव करे यदि मैं इससे बच सकूं।

यहां MySQL संस्करण है।

mysql Ver 14.14 Distrib 5.5.31, for debian-linux-gnu (i686) using readline 6.2


इसके लिए वर्कअराउंड कमांड लाइन mysql -e को --local-infile=1 तर्क में पास करने के लिए संशोधित करना है:

mysql --local-infile=1 -u username -p `

फिर LOAD DATA LOCAL INFILE कमांड फिर से LOAD DATA LOCAL INFILE


मेरा अनुमान है कि आपके MySQL सर्वर में LOAD DATA LOCAL सक्षम नहीं है। MySQL दस्तावेज़ के इस खंड को देखें:

यदि लोड डेटा लोकल अक्षम है, या तो सर्वर या क्लाइंट में, क्लाइंट जो इस तरह के कथन को जारी करने का प्रयास करता है, निम्न त्रुटि संदेश प्राप्त करता है:

त्रुटि 1148: इस MySQL संस्करण के साथ प्रयुक्त कमांड की अनुमति नहीं है

यहां पृष्ठ से लिंक है जो मुझे मिला है:

http://dev.mysql.com/doc/refman/5.5/en/load-data-local.html


local-infile दोनों सर्वर और ग्राहक दोनों पर सक्षम करने की जरूरत है। आप local-infile = 1 को प्रत्येक छोर के my.cnf (यूनिक्स) या my.ini (Windows) फ़ाइल में उपयुक्त अनुभाग में जोड़कर इसे पूरा कर सकते हैं। उदाहरण के लिए, ग्राहक पर:

[client]
local-infile = 1

आप इसे सिस्टम वैरिएबल local_infile सेट करके सर्वर पर रनटाइम पर भी सक्षम कर सकते हैं:

SET GLOBAL local_infile=1;

हालांकि, आपको अभी भी इसे क्लाइंट पर सक्षम करने की आवश्यकता है। आप mysql कमांड में कमांड लाइन पैरामीटर जोड़कर रनटाइम पर ऐसा कर सकते हैं:

mysql --local-infile=1 ...

यदि आप अमेज़ॅन वेब सेवा आरडीएस का उपयोग कर रहे हैं, तो आप पैरामीटर समूह को संपादित या बनाने के द्वारा सर्वर सेटिंग कॉन्फ़िगर कर सकते हैं। local_infile पैरामीटर की तलाश करें। परिवर्तनों को लागू करने के बाद आपको अपने सर्वर को पुनरारंभ करना पड़ सकता है।





local