팁(트러블슈팅)

Mysql Database 백업파일 생성 및 DB 옮기는 법 (.sql 및 mysqldump 사용법)

JUNFUTURE 2024. 2. 15. 15:46

mysql을 이용하다가, database를 통째로 옮겨 다시금 로컬환경에 db를 설치해야하는 경우가 있다.
그때 mysql database를 복사하여 이동하는 방법을 남기고자한다.

 

(MySQL 설치 안되어있을시) MySQL 설치

sudo apt update
sudo apt install mysql-server

설치후 아래와 같이 접속가능

# 방화벽 허용
sudo ufw allow mysql

# MySQL 실행
sudo systemctl start mysql
sudo systemctl enable mysql

# (참고) MySQL 중지
sudo systemctl stop mysql

# MySQL root 계정으로 접속
sudo mysql -u root

 

(백업파일 생성) Database 를 .sql 파일로 만들어주기

# 기존 DB에서
sudo mysqldump -u root -p [DB명] > [파일명].sql
sudo mysqldump -u root -p login_service > login_service.sql

 

mysqldump를 이용하면 database를 통째로 덤프뜰 수 있다.

이렇게 .sql 파일을 만들면 이 파일을 이용해 새로운 DB에 값을 통채로 넣어줄 수 있다.

 

(백업파일 적용) 새로운 Database 만들어주기

아무것도 없이 비어있는 새로운 Database를 만든 후,

아래 명령어를 통해 .sql에 있는 정보를 덮어 쓸 수 있다.

# 새로운 환경에서 새로 mysql 설치 및 세팅이 완료된 이후에
sudo /usr/bin/mysql -u root -p
# password 입력

CREATE DATABASE new_login_service;
SHOW DATABASES;

 

.sql 로 database 덮어쓰기

# Mysql 에서 나와서 .sql가 있는 경로에서
sudo mysql -uroot -p [새로만든 DB명] < [.sql파일]
sudo mysql -uroot -p new_login_service < login_service.sql

 

 

확인해보기

# 다시 mysql 접속
sudo mysql -u root

SHOW DATABASES;
USE [Database이름];

show tables;
Select * from [table이름];