소개
데이터베이스 가져오고 내보내기는 소프트웨어 개발에서 흔한 작업입니다. 데이터 덤프를 사용하여 정보를 백업하고 복원할 수 있습니다. 또한 새로운 서버나 개발 환경으로 데이터를 이관하는 데 사용할 수 있습니다.
이 자습서에서는 MySQL 또는 MariaDB(명령은 상호 교환 가능)에서 데이터베이스 덤프를 사용합니다. 구체적으로 데이터베이스를 내보내고 해당 데이터베이스를 덤프 파일에서 가져옵니다.
전제 조건
MySQL 또는 MariaDB 데이터베이스를 가져오거나 내보내려면 다음이 필요합니다:
- A virtual machine with a non-root sudo user. If you need a server, go here to create a DigitalOcean Droplet running your favorite Linux distribution. After creation, choose your distribution from this list and follow our Initial Server Setup Guide.
- MySQL 또는 MariaDB가 설치되어 있어야 합니다. MySQL을 설치하려면 MySQL 설치 방법 자습서를 따르세요. MariaDB를 설치하려면 MariaDB 설치 방법 자습서를 따르세요.
- A sample database created in your database server. To create one, follow “Creating a Sample Database” in our tutorial, “An Introduction to Queries in MySQL”.
참고: 수동 설치 대신 디지털오션 마켓플레이스의 MySQL 원클릭 애플리케이션을 살펴볼 수 있습니다.
단계 1 — MySQL 또는 MariaDB 데이터베이스 내보내기
mysqldump
콘솔 유틸리티는 데이터베이스를 SQL 텍스트 파일로 내보냅니다. 이를 통해 데이터베이스를 전송하고 이동하는 작업이 쉬워집니다. 데이터베이스의 이름과 자격 증명이 필요합니다. 이 계정의 권한은 데이터베이스에 적어도 완전한 읽기 전용 액세스를 허용해야 합니다.
mysqldump
를 사용하여 데이터베이스를 내보냅니다:
username
은 데이터베이스에 로그인할 수 있는 사용자 이름입니다database_name
은 내보낼 데이터베이스의 이름입니다data-dump.sql
은 현재 디렉터리에 출력을 저장하는 파일입니다.
이 명령은 시각적 출력을 생성하지 않지만, data-dump.sql
의 내용을 확인하여 유효한 SQL 덤프 파일인지 확인할 수 있습니다.
다음 명령을 실행합니다:
파일의 맨 위는 다음과 같이 보일 것입니다. 이는 database_name
이라는 데이터베이스에 대한 MySQL 덤프를 보여줍니다.
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- 호스트: localhost 데이터베이스: database_name
-- ------------------------------------------------------
-- 서버 버전 5.7.16-0ubuntu0.16.04.1
내보내기 프로세스 중에 오류가 발생하는 경우 mysqldump
가 이를 화면에 인쇄합니다.
단계 2 — MySQL 또는 MariaDB 데이터베이스 가져오기
기존 덤프 파일을 MySQL이나 MariaDB에 가져오려면 새 데이터베이스를 생성해야 합니다. 이 데이터베이스는 가져온 데이터를 보유할 것입니다.
먼저, 다음 명령을 사용하여 루트 또는 새 데이터베이스를 생성할 충분한 권한이 있는 다른 사용자로 MySQL에 로그인합니다:
이 명령은 MySQL 셸 프롬프트로 이동시킵니다. 다음으로 다음 명령을 사용하여 새 데이터베이스를 만듭니다. 이 예제에서 새 데이터베이스의 이름은 new_database
입니다:
이것은 데이터베이스 생성을 확인하는 출력입니다.
OutputQuery OK, 1 row affected (0.00 sec)
그런 다음 CTRL+D
를 눌러 MySQL 셸에서 나옵니다. 일반 명령줄에서 다음 명령을 사용하여 덤프 파일을 가져올 수 있습니다:
username
은 데이터베이스에 로그인할 수 있는 사용자 이름입니다newdatabase
는 방금 생성한 데이터베이스의 이름입니다data-dump.sql
은 현재 디렉터리에 위치한 가져올 데이터 덤프 파일입니다
명령이 성공적으로 실행되면 출력이 생성되지 않습니다. 프로세스 중에 오류가 발생하면 mysql
이 대신 터미널에 출력합니다. 가져오기가 성공적으로 이루어졌는지 확인하려면 MySQL 셸에 로그인하여 데이터를 확인하십시오. USE new_database
와 같은 새 데이터베이스를 선택한 다음 SHOW TABLES;
또는 유사한 명령을 사용하여 일부 데이터를 확인하십시오.
결론
이 튜토리얼에서는 MySQL 또는 MariaDB 데이터베이스에서 데이터베이스 덤프를 생성했습니다. 그런 다음 해당 데이터 덤프를 새 데이터베이스로 가져왔습니다. mysqldump
에는 시스템이 데이터 덤프를 생성하는 방식을 변경할 수 있는 추가 설정이 있습니다. 공식 mysqldump 문서 페이지에서 자세히 알아볼 수 있습니다.
MySQL에 대해 더 알아보려면 MySQL 리소스 페이지를 확인하십시오.
MySQL 쿼리에 대해 자세히 알아보려면 “MySQL에서 쿼리 소개” 튜토리얼을 참조하십시오.
저자는 무료 및 오픈 소스 기금을 기부를 위한 쓰기 프로그램의 일환으로 선정했습니다.