[phpmyadmin]MYSQL에 대용량 CSV Import 하기 > DB/SQLite

본문 바로가기
사이트 내 전체검색

DB/SQLite

[phpmyadmin]MYSQL에 대용량 CSV Import 하기

페이지 정보

작성자 sbLAB 댓글 0건 조회 11,947회 작성일 18-07-25 17:13

본문

서버에서 직접 Importing은  http://dev.mysql.com/doc/refman/5.1/en/load-data.html 참고

 

1.테이블 스키마 만들기

   자동증가필드와 인덱스를 미리 스키마에 정의해 놓았으며, 자동증가 필드 입력을 위해

   CSV파일 첫 필드를 엑셀에서 1부터 시작하는 숫자로 미리 편집 입력해 놓았다.

 

2. 엑셀 CSV 파일 만들기 - 이때 문자셋은 UTF-8 로 저장해 줄것!! (항상 클라이언트-서버 모두 UTF8 통일임)

  셀(필드)에 콤마가 있어도 상관없다

어떤 셀안에 콤마가 있으면, 엑셀에서 CSV로 저장할때 자동으로 "나무,들" 처럼 큰 따옴표로 감싸준다.

 

3. phpmyadmin 웹도구에서 대용량 CSV를 import 시도하면 몇가지 확인할 일이 생긴다.

   대용량의 CSV 텍스트 데이타가 무사히 서버 DB에 들어가기 위해서는 서버운영상 제약사항을 조정해 줘야한다.

   ※불과 10Mbyte 의 CSV테이타를 입력하는데도 오류가 났음.

 

※PHP 설정값( php.ini)
memory_limit = 512M      ※참고로 초기 기본값은 128M

 

※MYSQL설정값(my.ini)
[mysqld]
max_allowed_packet = 64M   ※참고로 초기 기본값은 1M

 

※세팅완료 후 웹서비스와 MYSQL서비스 다시시작

 

4. phpmyadmin  은 버젼별로 생각한 대로 동작이 되지 않은 경우가 많았고,

   여러 방법중에 아래 방법으로 하였을때 가장 잘됨.  작업완료 후 mysql, php 세팅값 초기값으로 변경하였음.

 

   1. 임포팅할 테이블을 만든 후 그 테이블 까지 클릭하여 들어간다.

   2. 임포트할 CSV 파일 선택해주고, UTF-8 문자셋 선택

   3. CSV using LOAD DATA 로 선택해준다..   같은조건에서 그냥 CSV를 선택하였을때 임포트실패함

  4.  구분자를 , 로 해주고, 열감싸기는 공백으로 비워준다.   ※기본값은 ; 로 되어 있으니 꼭 쉼표(,) 로 바꿔준다.
 

4cb3f0ba517befeb9b243ed5915443ee_1532506389_6698.jpg
 

  따라서 옵션값을 모두 설정한 화면은 아래와 같다.


4cb3f0ba517befeb9b243ed5915443ee_1532506411_3131.png
 

※ 정상적으로 import 되지 않으면 위 열감싸기 큰따옴표 를 넣어주고 재 시도 한다.


댓글목록

등록된 댓글이 없습니다.

회원로그인

접속자집계

오늘
218
어제
433
최대
1,279
전체
218,886

그누보드5
Copyright © sebom.com All rights reserved.