Cloud Service/AWS 공부

[AWS] RDS - 3) 데이터베이스 덤프(Database dump) **

Queen Julia 2023. 10. 28. 19:47

1. 데이터베이스 덤프(Database dump)

1-1. 데이터베이스 덤프(Database dump)란?

데이터베이스 덤프란 데이터베이스의 구조와 내용을 포함하는 파일로 다양한 용도로 사용됩니다. 덤프 파일을 만들어 백업용으로 저장할 수 있고, 복원의 개념으로 이미 만들어진 덤프 파일을 불러올 수도 있습니다. 또한 다른 데이터베이스 서버로 가져올 수도 있습니다. 대신 덤프 파일을 사용할 때에는 원본 및 대상 데이터베이스가 동일한 데이터베이스 엔진이어야 합니다.

1-2. 데이터베이스 덤프(Database dump) 파일 만들기

이미 데이터베이스를 어느정도 다뤄본 경험이 있다면 덤프 파일을 만드는 것은 너무나 간단합니다.

  1. 우선 데이터베이스 서버에 접속하여 덤프 파일을 생성(백업)할 데이터베이스의 이름(dump_test)을 확인합니다.
mysql> SHOW DATABASES;
+-----------------------+
| Database              |
+-----------------------+
| dump_test             | # <-- 백업할 데이터베이스
| information_schema    |
| mysql                 |
| performance_schema    |
| sys                   |
+-----------------------+
5 rows in set (0.01 sec)

mysql>

 

2. 이후에 복원하여 데이터가 잘 옮겨졌는지 확인하기 위해 해당 데이터베이스 내 데이터를 미리 확인합니다.

mysql> USE dump_test
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM users;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)

mysql>

 

3. 접속했던 데이터베이스 서버에서 나와 터미널에 다음과 같은 명령어를 입력합니다.

mysqldump -u root -p 'db_name' > 'dump_file_name'.sql

 

4. 명령어 입력 후 덤프 파일이 잘 생성되었는지 확인합니다 

 

5. 덤프 파일을 복원할 데이터베이스(dump_test2)를 생성합니다.

mysql> CREATE DATABASE dump_test2 CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
Query OK, 1 row affected (0.00 sec)

mysql>

 

6. 다시 데이터베이스 서버에서 나와 터미널에 다음과 같은 명령어를 입력합니다.

mysql -u root -p 'db_name' < 'dump_filename'.sql

 

7. 복원할 데이터베이스에 접속해 복원이 잘 되었는지 데이터를 확인합니다.

mysql> USE dump_test2;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT * FROM users;
+----+
| id |
+----+
|  1 |
+----+
1 row in set (0.00 sec)

mysql>