MySQL में स्थानीय फ़ाइल लोड करना एक सुरक्षा खतरा है और डिफ़ॉल्ट रूप से बंद है, यदि आप कर सकते हैं तो आप इसे छोड़ना चाहते हैं। जब इसकी अनुमति नहीं है तो आपको यह त्रुटि मिलती है:
ERROR 1148 (42000): The used command is not allowed with this MySQL version
समाधान:
-
--local-infile=1
. का उपयोग करें mysql कमांडलाइन पर तर्क:जब आप टर्मिनल पर MySQL प्रारंभ करते हैं, तो
--local-infile=1
. शामिल करें तर्क, कुछ इस तरह:mysql --local-infile=1 -uroot -p mysql>LOAD DATA LOCAL INFILE '/tmp/foo.txt' INTO TABLE foo COLUMNS TERMINATED BY '\t';
तब आदेश की अनुमति है:
Query OK, 3 rows affected (0.00 sec) Records: 3 Deleted: 0 Skipped: 0 Warnings: 0
-
या पैरामीटर को mysql डेमॉन में भेजें:
mysqld --local-infile=1
-
या इसे my.cnf फ़ाइल में सेट करें (यह एक सुरक्षा जोखिम है):
अपना mysql खोजें
my.cnf
फ़ाइल करें और इसे रूट के रूप में संपादित करें।local-infile
जोड़ें mysqld और mysql डिज़ाइनर के अंतर्गत लाइन:[mysqld] local-infile [mysql] local-infile
फ़ाइल सहेजें, mysql को पुनरारंभ करें। इसे पुन:प्रयास करें।
अधिक जानकारी यहां पाई जा सकती है:http:// dev.mysql.com/doc/refman/5.1/hi/load-data-local.html