웹사이트 검색

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

  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) -- -- Host: localhost Database: database_name -- ------------------------------------------------------ -- Server version 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 쿼리에 대해 자세히 알아보려면 "An Introduction to Queries in MySQL\ 자습서를 확인하십시오.