리눅스

MySQL 데이터베이스 가져오기 (mysqldump로 Export된 파일 사용)

이 포스트는 데이터베이스 가져오기에 대한 방법을 기술합니다. 데이터베이스 내보내기백업 방법은 아래 포스트에 자세히 서술되어있습니다.

 

내보내기된 데이터 형식에 따라 가져오기의 방법이 다양해집니다. 이 포스트에서는 mysqldump를 통해 내보내진 .sql 파일을 가져오는 방법만 서술합니다.

MySQLMariaDB 데이터베이스 정보를 다른 서버에서 가져오고 싶을 때 아래 커맨드라인 명령으로 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

 

JooTC

안녕하세요. 테크놀로지에 관심이 많은 블로거입니다.

Recent Posts

Zalgo 텍스트와 이를 방지하는 방법

인터넷 커뮤니티 사이트에서 게시글이나 댓글에 간혹 장난을 목적으로 작성된 특이한 글자를 볼 수 있습니다. 위…

4주 ago

리눅스 kill, killall 명령어 – 특정 프로세스 종료하기

리눅스 명령어 - kill, killall 리눅스 kill 명령어는 특정 프로세스를 종료해주는 명령어입니다. 백그라운드에서 실행되고 있는…

4주 ago

JavaScript typeof null이 ‘object’인 이유

JavaScript는 역사가 긴 스크립트 프로그래밍 언어입니다. 세월이 흐르면서 많은 자바스크립트 표준이 만들어졌고, 현재는 많은 문법적…

4주 ago

Mocha Error: Resolution method is overspecified. 해결 방법

NodeJS 테스트 프레임워크인 Mocha는 비동기 테스트를 지원합니다. 간혹 특정 테스트 스크립트를 작성하고 실행하면 아래와 같이…

1개월 ago

윈도우 11 설치 시 Microsoft 계정 로그인 없이 로컬 계정 만들기

언제부턴가 윈도우 11을 처음 설치할 때 마이크로소프트(Microsoft) 계정 로그인을 강제로 요구하게 되었습니다. 물론 마이크로소프트 계정이…

6개월 ago

에어팟 프로 2 케이스 스피커 소리를 완전히 끄는 방법

애플 에어팟 프로 2 (AirPods Pro 2) 케이스에는 스피커가 내장되어 있습니다. 그런데 간혹 아무 것도…

9개월 ago