web-dev-qa-db-ja.com

エラー:ローカルデータの読み込みが無効になっています-これはクライアント側とサーバー側の両方で有効にする必要があります

以下のような最も明白なものを除いて、他の人が同様の質問に提供した回答を理解できません。

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)

これにより、正確なコードが提供されたことを意味します。 「クライアント」側と「サーバー」側でローカルデータを有効にするために必要な手順を順を追って説明していただければ幸いです。クライアント側でローカルデータを有効にしたようですが、「サーバー側」を有効にするためにコンピュータにどのような指示を与える必要があるのか​​わかりません。私はまったくテクノロジーに精通していません。データが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)
;

コマンドラインシェルを使用して.csvファイルをMySQLにインポートできるようにしたいだけです。

16
sofrustrated

MySQL 8.0.20のデフォルトインストールの場合:

i)C:\ ProgramData\MySQL\MySQL Server 8.0\my.iniにある初期化ファイルを探します。

ii)メモ帳でmy.iniファイルを開きます。

iii)CLIENTセクションの下の[client]、[mysql]ヘッダーと、SERVERセクションの下の[mysqld]を探します。

iv)各ヘッダーの下に次のステートメントを追加します。

local_infile = ON

v)ファイルを保存し、WindowsローカルサービスでMySQL80サービスを再起動します。

うまくいくはずです。

0
MySQL New User

これは私がUbuntu 20.04/MySQL 8でこの問題を修正しなければならなかったことです:

  1. nano /etc/mysql/mysql.conf.d/mysqld.cnf

  2. ファイルの最後に次の2行を追加します。

    [クライアント]

    local_infile = 1

  3. クライアントからこのコマンドを実行します:SET GLOBAL local_infile=1;

0
Wonko the Sane