MySQL 또는 MariaDB에서 데이터베이스 가져오고 내보내는 방법

소개

데이터베이스 가져오고 내보내기는 소프트웨어 개발에서 흔한 작업입니다. 데이터 덤프를 사용하여 정보를 백업하고 복원할 수 있습니다. 또한 새로운 서버나 개발 환경으로 데이터를 이관하는 데 사용할 수 있습니다.

이 자습서에서는 MySQL 또는 MariaDB(명령은 상호 교환 가능)에서 데이터베이스 덤프를 사용합니다. 구체적으로 데이터베이스를 내보내고 해당 데이터베이스를 덤프 파일에서 가져옵니다.

1-클릭으로 DigitalOcean 관리형 데이터베이스를 배포하세요. DigitalOcean이 데이터베이스의 확장, 유지 관리 및 업그레이드에 중점을 두도록 하세요.

전제 조건

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를 사용하여 데이터베이스를 내보냅니다:

  1. mysqldump -u username -p database_name > data-dump.sql
  • username은 데이터베이스에 로그인할 수 있는 사용자 이름입니다
  • database_name은 내보낼 데이터베이스의 이름입니다
  • data-dump.sql은 현재 디렉터리에 출력을 저장하는 파일입니다.

이 명령은 시각적 출력을 생성하지 않지만, data-dump.sql의 내용을 확인하여 유효한 SQL 덤프 파일인지 확인할 수 있습니다.

다음 명령을 실행합니다:

  1. head -n 5 data-dump.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에 로그인합니다:

  1. mysql -u root -p

이 명령은 MySQL 셸 프롬프트로 이동시킵니다. 다음으로 다음 명령을 사용하여 새 데이터베이스를 만듭니다. 이 예제에서 새 데이터베이스의 이름은 new_database입니다:

  1. CREATE DATABASE new_database;

이것은 데이터베이스 생성을 확인하는 출력입니다.

Output
Query OK, 1 row affected (0.00 sec)

그런 다음 CTRL+D를 눌러 MySQL 셸에서 나옵니다. 일반 명령줄에서 다음 명령을 사용하여 덤프 파일을 가져올 수 있습니다:

  1. 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 쿼리에 대해 자세히 알아보려면 “MySQL에서 쿼리 소개” 튜토리얼을 참조하십시오.

저자는 무료 및 오픈 소스 기금기부를 위한 쓰기 프로그램의 일환으로 선정했습니다.

Source:
https://www.digitalocean.com/community/tutorials/how-to-import-and-export-databases-in-mysql-or-mariadb