IMPORT

by 조쉬 posted Dec 23, 2016
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

- Database 전체를 import하는 방법은 다음과 같습니다.

   database 전체를 import할 경우 반드시 해당 database가 생성되어 있어야 합니다.

 

   mysql -uuser_id -ppassword dbname < sql_file

 

   ex) Windows : C:\mysql\bin> mysql -utest -ptest testdb < test.sql

         Linux       : # mysql -utest -ptest testdb < test.sql

         => MySQL에 생성되어 있는 "testdb"라는 database에 test.sql file에 정의된 형식으

             로 table 및 data를 import하라는 명령입니다.

 

- 특정 table정보를 import하는 방법은 다음과 같습니다.

   table 정보를 import할 경우 해당 database에는 동일한 table name이 없어야 합니다.

 

   mysql -uuser_id -ppassword dbname < sql_file

 

   ex) Windows : C:\mysql\bin> mysql -utest -ptest testdb < test.sql

         Linux       : # mysql -utest -ptest testdb < test.sql

         => MySQL에 생성되어 있는 "testdb"라는 database에 test.sql file에 정의된 table을

             생성하고, 포함된 data를 import하라는 명령입니다.

 

- 전체 database를 import 하는 방법과 특정 table만을 import하는 명령이 동일하므로 혼란

   을 가져올 수가 있으나, 구별하는 방법은 오로지 dump 받은 file에 달려 있으므로 관리자

   는 해당 file 정보에 대해 숙지하고 있어야 합니다.

 

Text로 저장된 data를 import하는 방법

 

- Text file의 내용을 database에 import할 경우 mysqlimport라는 utility를 사용합니다. 예

   를 들어서 엑셀에서 작업한 10,000개의 데이터를 mysql에 저장시키려면, 엑셀에서 저장

   할 때 각각 쉘 구분을 ";"나 "|" 으로 하고 텍스트 형식으로 저장합니다.

 

- MySQL에 저장시키기 위해서는 미리 저장하기 위한 테이블이 생성되어 있어야 합니다. 그

   리고 사용자 권한에 파일데이터를 데이터베이스에 입력할 수 있는 권한이 있어야 합니다.

   그러나 일반 사용자에게는 보통 파일데이터를 직접 입력할 수 있는 권한을 주지 않으므로

   루트 권한으로 하는 것이 좋습니다. 부득이할 경우 사용자에게 파일데이터를 직접 입력할

   수 있는 권한을 주면 됩니다. mysql데이터베이스에서 user 테이블의 사용자에게 "File_

   priv" 권한을 "Y" 로 주면 됩니다.

 

- 사용방법은 다음과 같습니다.

 

   mysqlimport -uuser_id -ppassword --fields-terminated-by=구분자

  dbname table_name text_file

 

   ex) Windows : C:\mysql\bin> mysqlimport -utest -ptest --fields-terminated-by=;

                           testdb test test.txt

         Linux       : # mysqlimport -utest -ptest --fields-terminated-by=; testdb test

                             test.txt

         => testdb 데이터베이스의 test라는 테이블에 test.txt 의 내용을 입력합니다. 각 필드

             의 구분은 ";"로 한다는 명령입니다.