오류 : 로컬 데이터로드가 사용 불가능합니다. 클라이언트 및 서버 측 모두에서 사용 가능해야합니다.


11

아래 질문과 같이 가장 명백한 질문을 제외하고 다른 사람이 비슷한 질문에 제공 한 답변을 이해하지 못합니다.

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로 가져올 수 있기를 원합니다.


이것이 귀하의 질문에 대답합니까? MySQL : LOAD DATA LOCAL INFILE 재설정 활성화
danblack

답변:


7

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

온라인 검색 후 다음 단계로 해결했습니다.

  1. 이 명령을 사용하여 전역 변수를 설정하십시오.
mysql> SET GLOBAL local_infile=1;
Query OK, 0 rows affected (0.00 sec)
  1. 현재 서버를 종료하십시오.
mysql> quit
Bye
  1. local-infile 시스템 변수를 사용하여 서버에 연결하십시오.
mysql --local-infile=1 -u root -p1

이 변수는 LOAD DATA 문에 대한 서버 측 LOCAL 기능을 제어합니다. local_infile 설정에 따라 서버는 클라이언트 측에서 LOCAL이 활성화 된 클라이언트의 로컬 데이터로드를 거부하거나 허용합니다. 클라이언트 프로그램 및 라이브러리가 빌드 시간 또는 런타임에 구성되는 방법에 관계없이 서버가 LOAD DATA LOCAL 문을 명시 적으로 거부하거나 허용하게하려면 각각 local_infile을 비활성화 또는 활성화하여 mysqld를 시작하십시오. local_infile은 런타임에 설정할 수도 있습니다.

  1. 데이터베이스를 사용하여 파일을 테이블에로드하십시오.
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/en/load-data-local-security.html https://dev.mysql.com/doc/refman/8.0/en/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


이것은 나를 위해 작동합니다 :-)
Bryon Nicoson

2

my.cnf 파일:

[client]  
local_infile=1

공식 MySQL 8.0 문서에서 .


MySql 문서는 명확하지 않습니다. [클라이언트]를 설정했습니다. 서버 쪽과 클라이언트 쪽을 모두 올바르게 만드는 방법은 무엇입니까? MySql 8이 설치된 Ubuntu에서 my.cnf 파일은 /etc/mysql/mysql.conf.d 및 /etc/mysql/conf.d를 참조하는 디렉토리 쌍입니다. mysql.conf.d / mysql.cnf 파일에서 설정을 시도하고 있습니다. 그러나 솔직히 같은 이름의 "mysql.cnf"파일이있는 단일 폴더를 최상위 레벨과 각 하위 디렉토리에 두는 것이 합리적 일 수 있습니다. 그리고 서버를 바꾸지 않습니까?
pauljohn32

1
[mysqld] 태그가 있고 사용중인 구성 파일을 찾으십시오. 해당 태그와 [client] 태그 아래에 동일한 전역 구성을 추가하십시오.
Adam Friedman

@AdamFriedman 포인트 감사합니다! 나를위한 서버 구성 파일이 /etc/mysql/mysql.conf.d/mysqld.cnf있었고 [mysqld] 아래에 local_infile = 1을 추가했으며 지금 작동 중입니다! 편집 대기열이 가득 찼기 때문에 현재이 답변을 편집 할 수 없지만 mysqld 쌍이 없으면 불완전합니다.
aderchox
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.