[phpmyadmin]MYSQL에 대용량 CSV Import 하기
페이지 정보
작성자 sbLAB 댓글 0건 조회 12,356회 작성일 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. 구분자를 , 로 해주고, 열감싸기는 공백으로 비워준다. ※기본값은 ; 로 되어 있으니 꼭 쉼표(,) 로 바꿔준다.
따라서 옵션값을 모두 설정한 화면은 아래와 같다.
※ 정상적으로 import 되지 않으면 위 열감싸기 큰따옴표 를 넣어주고 재 시도 한다.
- 이전글[mysql] auto_increment 값 초기화 18.07.25
- 다음글[mysql]Date and Time Functions DATE_ADD, DATE_SUB 18.07.25
댓글목록
등록된 댓글이 없습니다.