Saya tidak mengerti tanggapan yang diberikan orang lain untuk pertanyaan serupa kecuali yang paling jelas, seperti di bawah ini:
mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)
mysql> SHOW GLOBAL VARIABLES LIKE 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile | ON |
+---------------+-------+
1 row in set (0.01 sec)
Maksud saya kode yang sebenarnya diberikan. Saya akan sangat menghargai jika seseorang dapat memandu saya, langkah demi langkah, apa yang harus saya lakukan untuk mengaktifkan data lokal di sisi "klien" dan "server". Sepertinya saya telah mengaktifkan data lokal di sisi klien, tetapi saya tidak tahu instruksi apa yang perlu saya berikan kepada komputer saya untuk mengaktifkan "sisi server". Saya tidak mengerti teknologi sama sekali, dan saya hanya ingin bisa sampai ke titik di mana data telah diunggah ke dalam meja kerja MySQL.
ERROR 3948 (42000): Loading local data is disabled; this must be enabled on both the client and server sides
CREATE TABLE toys (
uniq_id VARCHAR(1000),
product_name VARCHAR(1000),
manufacturer VARCHAR(1000),
price VARCHAR(1000),
number_available_in_stock VARCHAR (1000),
number_of_reviews INT,
number_of_answered_questions INT,
average_review_rating VARCHAR(1000),
amazon_category_and_sub_category VARCHAR(1000),
customers_who_bought_this_item_also_bought VARCHAR(1000),
description VARCHAR(1000),
product_information VARCHAR(1000),
product_description VARCHAR(1000),
items_customers_buy_after_viewing_this_item VARCHAR(1000),
customer_questions_and_answers VARCHAR(1000),
customer_reviews VARCHAR(1000),
sellers VARCHAR(1000)
);
LOAD DATA LOCAL INFILE ‘/Users/BruddaDave/Desktop/amazonsample.csv’ INTO TABLE toys
FIELDS TERMINATED BY ‘,’
LINES TERMINATED BY ‘\n’
IGNORE 1 LINES
(uniq_id, product_name, manufacturer, price, number_available_in_stock, number_of_reviews, number_of_answered_questions, average_review_rating, amazon_category_and_sub_category, customers_who_bought_this_item_also_bought, description, product_information, product_description, items_customers_buy_after_viewing_this_item, customer_questions_and_answers, customer_reviews, sellers)
;
Saya hanya ingin dapat mengimpor file .csv ke MySQL menggunakan shell baris perintah.
Jawaban:
Jika kemampuan LOCAL dinonaktifkan, di sisi server atau klien, klien yang mencoba mengeluarkan pernyataan LOAD DATA LOCAL menerima pesan galat berikut:
Saya bertemu dengan masalah yang sama ketika saya ingin memuat file teks pet.txt ke dalam tabel pet mengikuti tutorial dari Mysql: https://dev.mysql.com/doc/refman/8.0/en/loading-tables.html
Setelah mencari online, saya memperbaikinya dengan langkah-langkah ini:
Variabel ini mengontrol kemampuan LOKAL sisi-server untuk pernyataan LOAD DATA. Bergantung pada pengaturan local_infile, server menolak atau mengizinkan pemuatan data lokal oleh klien yang memiliki LOCAL diaktifkan di sisi klien. Untuk secara eksplisit menyebabkan server menolak atau mengizinkan pernyataan LOAD DATA LOCAL (terlepas dari bagaimana program klien dan pustaka dikonfigurasikan pada waktu pembuatan atau runtime), mulailah mysqld dengan local_infile yang dinonaktifkan atau diaktifkan, masing-masing. local_infile juga dapat diatur saat runtime.
Apakah itu bekerja?
Referensi:
https://dev.mysql.com/doc/refman/8.0/en/load-data-local-security.html https://dev.mysql.com/doc/refman/8.0/id/source-configuration-options .html # option_cmake_enabled_local_infile https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_local_infile
sumber
my.cnf
mengajukan:Dari dokumentasi resmi MySQL 8.0 .
sumber
/etc/mysql/mysql.conf.d/mysqld.cnf
dan saya menambahkan local_infile = 1 di bawah [mysqld] dan sekarang berfungsi! Saat ini saya tidak dapat mengedit jawaban ini karena antrian edit penuh, tetapi tidak lengkap tanpa pasangan mysqld.