MySQL Workbench File Import Error in Mac
Page content
	
개요
- MySQL Workbench에서 File을 불러올 때 에러가 발생했을 때 대처 요령을 소개한다.
 - Workbench에서 File을 불러올 때 가끔 아래와 같은 아래가 발생하곤 한다.
 

- 해결방법은 MySQL Shell Script에서 직접 파일을 불러오는 방식이다.
 
MySQL 재접속
- 기존에 Workbench에 접속해 있었다면 우선 종료를 한다.
 

- 
재접속 전 Edit Connection 버튼을 클릭한다.

 - 
Advanced Tab을 클릭한다.
- Others 메뉴에서 
OPT_LOCAL_INFILE=1을 입력한다. - Test Connection 버튼을 클릭하여 정상적으로 접속이 되는지 재 확인한다.
 

 - Others 메뉴에서 
 

- 이제 재 접속을 하면 Workbench의 설정은 완료가 되었다.
 
Schema 및 Table 생성
- 
마우스 우클릭 후 스키마를 생성한다.

 - 
스키마 명은
mulcamp2로 명명했다.
 - 
제대로 설정되었는지 재확인한다.
 


- 테이블을 생성하도록 한다.
- 테이블이 미리 생성되어있지 않으면 csv 파일을 불러올 수 없다.
 - 첫번째 줄은 앞서 생성된 스키마를 사용하겠다는 뜻이다.
 - dataset4라는 테이블을 생성한다.
 
 

USE mulcamp2;
CREATE TABLE `dataset4` (
  `PassengerId` int DEFAULT NULL,
  `Survived` double DEFAULT NULL,
  `Pclass` int DEFAULT NULL,
  `Name` text,
  `Sex` text,
  `Age` double DEFAULT NULL,
  `SibSp` int DEFAULT NULL,
  `Parch` int DEFAULT NULL,
  `Ticket` text,
  `Fare` double DEFAULT NULL,
  `Cabin` text,
  `Embarked` text,
  `WikiId` int DEFAULT NULL,
  `Name_wiki` text,
  `Age_wiki` double DEFAULT NULL,
  `Hometown` text,
  `Boarded` text,
  `Destination` text,
  `Lifeboat` text,
  `Body` text,
  `Class` int DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci
MySQL Shell
- M1에서 터미널을 열고 접속을 할 것이다.
 
(옵션) 환경변수 설정
- 설치 시, 환경변수를 미 지정했다면, 아래와 같이 설정한다.
- 버전은 각자 확인해야 한다. (
/usr/local에서 확인) 
 - 버전은 각자 확인해야 한다. (
 
export PATH=${PATH}:/usr/local/mysql-8.0.34-macos13-arm64/bin/
source ~/.bash_profile
접속 및 설정
- MySQL Shell 에 접속한다.
 
$ mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 32
Server version: 8.0.34 MySQL Community Server - GPL
Copyright (c) 2000, 2022, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
- 위 화면에서 아래와 같이 실행한다.
- OFF가 되어 있을 가능성이 높다.
 
 
mysql> show global variables like 'local_infile';
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| local_infile  | OFF   |
+---------------+-------+
1 row in set (0.00 sec)
- 이런 경우 ON으로 변경해준다.
 
mysql> set global local_infile=true;
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)
- 데이터 불러오기 위해 아래 명령어를 추가한다.
- 경로는 절대경로를 입력한다.
 - TABLE 지정은 스키마명과 같이 입력한다.
 - 그 외 설명은 공식 문서를 참조한다.
 
 
mysql> LOAD DATA LOCAL INFILE "/Users/evan/Downloads/archive/full.csv" INTO TABLE mulcamp2.dataset4 FIELDS TERMINATED BY "," LINES TERMINATED BY "\n" IGNORE 1 ROWS;
Query OK, 1309 rows affected, 7571 warnings (0.08 sec)
Records: 1309  Deleted: 0  Skipped: 0  Warnings: 7571
데이터 확인
SELECT * FROM dataset4명령어를 활용하여 실제 조회가 되는지 확인해본다.
