이 포스트는 데이터베이스 가져오기에 대한 방법을 기술합니다. 데이터베이스 내보내기 및 백업 방법은 아래 포스트에 자세히 서술되어있습니다.
내보내기된 데이터 형식에 따라 가져오기의 방법이 다양해집니다. 이 포스트에서는 mysqldump를 통해 내보내진 .sql 파일을 가져오는 방법만 서술합니다.
MySQL 및 MariaDB 데이터베이스 정보를 다른 서버에서 가져오고 싶을 때 아래 커맨드라인 명령으로 Import를 할 수 있습니다.
가져올 데이터베이스를 testdatabase, Export된 파일을 export.sql 으로 가정해보겠습니다.
유의할 점은 .sql 파일 속 내용은 실제로 SQL 문법을 사용하는 문구로 구성되어야 합니다. 만약 가져올 데이터베이스 내에는 A 테이블이 없고 SQL 파일에도 A 테이블에 대한 생성 구문이 없는데 A 테이블에 INSERT를 하는 구문이 포함되어 있을 경우 오류가 발생할 것입니다.
MySQL 데이터베이스 가져오기
MySQL이나 MariaDB를 사용 중인 경우 아래 커맨드로 데이터베이스 서버에 접속을 시도합니다. (예시에서는 root 사용자로 접속하지만 반드시 루트 사용자가 아니어도 됩니다.)
$ mysql -u root -pp@ssw0rd (-p 에 값을 붙이지 않으면 별도의 프롬프트로 암호를 묻습니다.)
이렇게하면 데이터베이스 서버 연결에 성공할 것입니다.
먼저 가져올 데이터베이스를 사용하기 위해 USE 구문을 사용하여 testdatabase를 선택합니다.
mysql> USE testdatabase;
다음으로 가져오기 대상 파일이 위치한 경로와 파일명을 토대로 source 명령어를 사용하여 가져옵니다.
mysql> source /home/user/sqldata/export.sql;
이렇게 하면 잠시 동안 해당 파일 내의 쿼리를 실행할 것입니다. 실행된 후에는 백업 된 데이터들이 복구되있는 것을 확인하실 수 있을 것입니다.
이 방법 외에도 데이터베이스 서버에 접속함과 동시에 SQL 파일을 실행함으로서 즉시 데이터를 가져올 수 있습니다.
$ mysql -uroot-p[Password] [DatabaseName] < [SQLFilePath].sql
위 예시와 같은 구조인 경우 아래와 같이 될 것입니다.
$ mysql -uroot-pp@ssw0rd testdatabase < /home/user/sqldata/export.sql