[2021.07.21] How to solve ERROR 1300 (HY000) at line 1: Invalid utf8mb4 character string: '"' on MySQL?
해당 게시글은, CSV 파일을 통해 DB에 데이터를 넣다가
(1) 해당 에러메세지를 해결하는 방법
+ (2) DB에 이상한 값이 들어가면 해결하는 방법
+ (3) CSV 파일 -> DB 대용량 데이터 빠르게 넣는방법
1. 해당 에러메세지를 해결하는 방법
Solve ERROR 1300 (HY000) at line 1: Invalid utf8mb4 character string: '"'
-> 해당 에러메세지는 Editplus를 이용하여, 인코딩을 UTF-8로 해주면 된다.
* 참고로 UTF-8로 된 CSV는 EXCEL로 열면 값이 이상하게 나오니, Editplus로 열어야 한다.
https://injekim97.tistory.com/152
-> 해당 링크는 editplus를 이용하여, CSV 파일을 workbench에 넣는 방법과 설치파일이 게시되어 있다.
https://injekim97.tistory.com/314
-> 해당 링크는 LOAD DATA 명령어를 사용하여, 100만데이터를 5초만에 넣는 방법이다.
* 해당 게시글에도 넣는 방법이 게시되어있지만, 해당 링크를 한번 보고 아래 내용을 보는 것을 권유한다.
2. DB에 이상한 값이 들어가면 해결하는 방법
-> 그냥 csv 파일을 넣으면, "값이 들어간다.
-> 그렇기 때문에 Editplus(에디터플러스)를 이용하여, "를 제거해보자.
2-1. 자, 우선 editplus를 연다.
2-2. 컨트롤 + H를 눌러서 " -> 공백하나로 모두 바꿔준다 (즉 "를 다 지운다는 의미)
2-3. 새이름으로 저장한다(인코딩은 UTF-8)
3. CSV 파일 -> DB 대용량 데이터 빠르게 넣는방법
-> 3-1. 파일질라(FTP)를 이용하여, 리눅스 서버에 있는 mysql-server로 파일을 옮긴다.
3-2. Linux 서버에 mysql에 접속한다.
mysql --local-infile=1 -u root -p
3-3. USE DATABASE
mysql> USE DATA;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
3-4.Linux <-> Linux(mysql-server)
mysql> LOAD DATA LOCAL INFILE "/home/ubuntu/data/my_waist.csv" INTO TABLE DATA.waist FIELDS TERMINATED BY "," IGNORE 1 LINES;
Query OK, 960 rows affected, 772 warnings (0.06 sec)
Records: 960 Deleted: 0 Skipped: 0 Warnings: 772
3-5. Workbench, mysql 데이터 값 확인
'Web > Server & MySQL' 카테고리의 다른 글
[2021.07.29] How to install Nginx on ubuntu 20.04? (0) | 2021.07.29 |
---|---|
[2021.07.23] MySQL에 1분 내로 대용량 데이터 CSV File 업로드 방법? (0) | 2021.07.23 |
[2021.07.21] How to change timezone on ubuntu? (0) | 2021.07.21 |
[2021.07.19] How to solve ERROR 1265 : Data truncated for column ‘컬럼명’ at row 1 in MySQL? (0) | 2021.07.20 |
[2021.07.18] How to fast upload 1,000,000 data from CSV on MySQL? (0) | 2021.07.18 |
댓글