MySQL 또는 MariaDB에서 데이터베이스를 가져오고 내보내는 방법
저자는 Write for DOnations 프로그램을 선택했습니다.
소개
데이터베이스 가져오기 및 내보내기는 소프트웨어 개발에서 일반적인 작업입니다. 데이터 덤프를 사용하여 정보를 백업하고 복원할 수 있습니다. 또한 이를 사용하여 데이터를 새 서버 또는 개발 환경으로 마이그레이션할 수 있습니다.
이 자습서에서는 MariaDB에서 데이터베이스 덤프 작업을 수행합니다(명령은 상호 교환 가능). 특히 데이터베이스를 내보낸 다음 덤프 파일에서 해당 데이터베이스를 가져옵니다.
전제 조건
MySQL 또는 MariaDB 데이터베이스를 가져오거나 내보내려면 다음이 필요합니다.
- 루트가 아닌 sudo 사용자가 있는 가상 머신. 서버가 필요한 경우 이 목록을 작성하고 초기 서버 설정 가이드를 따르십시오.
- MySQL 또는 MariaDB가 설치되었습니다. MySQL을 설치하려면 MariaDB 설치 방법 자습서를 따르십시오.
- 데이터베이스 서버에 생성된 샘플 데이터베이스입니다. 하나를 만들려면 자습서 "An Introduction to Queries in MySQL\에서 "Creating a Sample Database\를 따르십시오.
참고: 수동 설치 대신 DigitalOcean Marketplace의 MySQL 원클릭 애플리케이션을 탐색할 수 있습니다.
1단계 - MySQL 또는 MariaDB 데이터베이스 내보내기
mysqldump
콘솔 유틸리티는 데이터베이스를 SQL 텍스트 파일로 내보냅니다. 이렇게 하면 데이터베이스를 더 쉽게 전송하고 이동할 수 있습니다. 데이터베이스에 대한 최소한의 전체 읽기 전용 액세스를 허용하는 권한을 가진 계정의 데이터베이스 이름과 자격 증명이 필요합니다.
mysqldump
를 사용하여 데이터베이스를 내보냅니다.
- mysqldump -u username -p database_name > data-dump.sql
username
은 데이터베이스에 로그인할 수 있는 사용자 이름입니다database_name
은 내보낼 데이터베이스의 이름입니다.data-dump.sql
은 출력을 저장하는 현재 디렉토리의 파일입니다.
이 명령은 시각적 출력을 생성하지 않지만 data-dump.sql
의 내용을 검사하여 합법적인 SQL 덤프 파일인지 확인할 수 있습니다.
다음 명령을 실행합니다.
- head -n 5 data-dump.sql
파일의 상단은 database_name
이라는 데이터베이스에 대한 MySQL 덤프를 표시하는 것과 유사해야 합니다.
SQL dump fragment-- MySQL dump 10.13 Distrib 5.7.16, for Linux (x86_64)
--
-- Host: localhost Database: database_name
-- ------------------------------------------------------
-- Server version 5.7.16-0ubuntu0.16.04.1
내보내기 프로세스 중에 오류가 발생하면 mysqldump
가 오류를 화면에 인쇄합니다.
2단계 - MySQL 또는 MariaDB 데이터베이스 가져오기
기존 덤프 파일을 MySQL 또는 MariaDB로 가져오려면 새 데이터베이스를 만들어야 합니다. 이 데이터베이스는 가져온 데이터를 보관합니다.
먼저 루트 또는 새 데이터베이스를 생성할 수 있는 충분한 권한이 있는 다른 사용자로 MySQL에 로그인합니다.
- mysql -u root -p
이 명령은 MySQL 쉘 프롬프트로 이동합니다. 그런 다음 다음 명령을 사용하여 새 데이터베이스를 만듭니다. 이 예에서 새 데이터베이스는 new_database
입니다.
- CREATE DATABASE new_database;
데이터베이스 생성을 확인하는 이 출력이 표시됩니다.
OutputQuery OK, 1 row affected (0.00 sec)
그런 다음 CTRL+D
를 눌러 MySQL 셸을 종료합니다. 일반 명령줄에서 다음 명령을 사용하여 덤프 파일을 가져올 수 있습니다.
- mysql -u username -p new_database < data-dump.sql
username
은 데이터베이스에 로그인할 수 있는 사용자 이름입니다newdatabase
는 새로 생성된 데이터베이스의 이름입니다.data-dump.sql
은 현재 디렉터리에 있는 가져올 데이터 덤프 파일입니다.
명령이 성공적으로 실행되면 출력이 생성되지 않습니다. 프로세스 중에 오류가 발생하면 mysql
은 대신 터미널에 오류를 인쇄합니다. 가져오기가 성공했는지 확인하려면 MySQL 셸에 로그인하여 데이터를 검사합니다. USE new_database
로 새 데이터베이스를 선택한 다음 SHOW TABLES;
또는 유사한 명령을 사용하여 일부 데이터를 확인합니다.
결론
이 자습서에서는 MySQL 또는 MariaDB 데이터베이스에서 데이터베이스 덤프를 만들었습니다. 그런 다음 해당 데이터 덤프를 새 데이터베이스로 가져왔습니다. mysqldump
에는 시스템이 데이터 덤프를 생성하는 방법을 변경하는 데 사용할 수 있는 추가 설정이 있습니다. 자세한 내용은 공식 mysqldump 설명서 페이지에서 확인할 수 있습니다.
MySQL에 대해 자세히 알아보려면 MySQL 리소스 페이지를 확인하십시오.
MySQL 쿼리에 대해 자세히 알아보려면 "An Introduction to Queries in MySQL\ 자습서를 확인하십시오.