상세 컨텐츠

본문 제목

[ 데이터베이스 ] DB dump, 백업 파일 생성하기 (mysql dump, backup)

실무/[ 데이터베이스 ]

by glenn93 2024. 6. 23. 20:41

본문

728x90
반응형

Dump(백업) 파일 생성 목적

로컬에서 생성한 데이터베이스(테이블 스키마 등 모든 데이터)를 개발서버로 옮기는 작업을 수행 중이었다.

sql문을 추출해서 직접 수행해 주는 방법도 있지만, 더 간단하게 덤프파일을 생성하여 완전히 같은 db환경을 개발서버에 구축할 수 있다. ( xxx.sql 형태로 보관 용이함 )

 

 

1. 데이터베이스 백업(로컬에서) : Dump파일 생성 및 전송

# 덤프 파일을 생성하는 명령어이다.(현재파일에 xxx.sql로 파일을 떨군다)
# 권한이 없어서 파일이 안떨궈지는 경우 있으니 확인하기
mysqldump -u [username] -p [database_name] > xxx.sql


# scp 명령어를 사용하여 원하는 서버에 파일을 넘겨줄 수 있다.
# usb나 메일등으로 옮기기 가능
scp xxx.sql [username]@[server_ip]:/path/to/destination

 

 

 

2. 데이터베이스 복원(개발 서버에서)

# 우분투 서버에서 mysql명령어를 쓰기위한 'MYSQL'접속 명령어
sudo mysql -u root -p


# 1. 개발에서 사용할 데이터베이스를 생성
CREATE DATABASE [database_name];
EXIT;

# 2. 로컬에서 받은 백업파일을 사용하여 개발서버에 갖다 붙이기
mysql -u [username] -p [database_name] < /path/to/destination/xxx.sql

 

 

 

3. 백업한 데이터베이스 및 데이터 확인하기

# 1. mysql 접속(루트 비번 사용해야함)
mysql -u root -p 


# 2. mysql 콘솔에서 데이터베이스 확인 후 선택
# 아래 명령어를 사용 시 현재 존재하는 데이터베이스 목록이 표출
mysql > show databases;
+--------------------+
| Database           |
+--------------------+
| database1          |
| database2          |
+--------------------+

# 아래 명령어로 데이터베이스를 선택하고 사용가능하다
mysql > use database2;


# 3. 테이블 확인 및 선택
mysql > show tables;
+----------------+
| Tables_in_ours |
+----------------+
| xxx_table1     |
| xxx_table2     |
| xxx_table3     |
+----------------+



# 4. 테이블 내 데이터 확인 : 여기선 디밸로퍼처럼 sql을 사용하면된다.
mysql > select * from xxx_table2;

 

 

 

위의 과정을 통해 db를 백업하고, 타 서버에 똑같이 db를 생성해 봤다.

 

 

 

 

 

728x90
반응형

관련글 더보기