यदि LOCAL क्षमता अक्षम है, तो सर्वर या क्लाइंट की ओर से, एक क्लाइंट जो LOAD DATA LOCAL स्टेटमेंट जारी करने का प्रयास करता है, उसे निम्न त्रुटि संदेश प्राप्त होता है:
ERROR 3950 (42000): Loading local data is disabled; this must be
enabled on both the client and server side
जब मैं Mysql के एक ट्यूटोरियल के बाद पालतू तालिका में टेक्स्ट फ़ाइल pet.txt लोड करना चाहता हूं, तो मुझे उसी समस्या का सामना करना पड़ा:https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
ऑनलाइन खोज करने के बाद, मैंने इसे इन चरणों द्वारा ठीक किया:
- इस आदेश का उपयोग करके वैश्विक चर सेट करें:
mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)
- वर्तमान सर्वर से बाहर निकलें:
mysql> quit
Bye
- लोकल-इनफाइल सिस्टम वैरिएबल के साथ सर्वर से कनेक्ट करें:
mysql --local-infile=1 -u root -p1
यह चर LOAD DATA स्टेटमेंट के लिए सर्वर-साइड LOCAL क्षमता को नियंत्रित करता है। local_infile सेटिंग के आधार पर, सर्वर क्लाइंट द्वारा स्थानीय डेटा लोड करने से इनकार करता है या अनुमति देता है, जिसके पास क्लाइंट साइड पर LOCAL सक्षम है। सर्वर को स्पष्ट रूप से LOAD DATA LOCAL स्टेटमेंट को अस्वीकार करने या अनुमति देने का कारण बनता है (चाहे क्लाइंट प्रोग्राम और लाइब्रेरी को बिल्ड पर कैसे कॉन्फ़िगर किया गया हो) time या रनटाइम), mysqld को क्रमशः local_infile अक्षम या सक्षम के साथ प्रारंभ करें। local_infile को रनटाइम पर भी सेट किया जा सकता है।
- अपने डेटाबेस का उपयोग करें और फ़ाइल को तालिका में लोड करें:
mysql> use menagerie
Database changed
mysql> load data local infile '/path/pet.txt' into table pet;
Query OK, 8 rows affected, 7 warnings (0.00 sec)
क्या यह काम करता है?
संदर्भ:
https://dev.mysql.com /doc/refman/8.0/hi/load-data-local-security.html https://dev.mysql.com /doc/refman/8.0/hi/source-configuration-options.html#option_cmake_enabled_local_infile https://dev.mysql.com /doc/refman/8.0/hi/server-system-variables.html#sysvar_local_infile