로컬에서 생성한 데이터베이스(테이블 스키마 등 모든 데이터)를 개발서버로 옮기는 작업을 수행 중이었다.
sql문을 추출해서 직접 수행해 주는 방법도 있지만, 더 간단하게 덤프파일을 생성하여 완전히 같은 db환경을 개발서버에 구축할 수 있다. ( xxx.sql 형태로 보관 용이함 )
# 덤프 파일을 생성하는 명령어이다.(현재파일에 xxx.sql로 파일을 떨군다)
# 권한이 없어서 파일이 안떨궈지는 경우 있으니 확인하기
mysqldump -u [username] -p [database_name] > xxx.sql
# scp 명령어를 사용하여 원하는 서버에 파일을 넘겨줄 수 있다.
# usb나 메일등으로 옮기기 가능
scp xxx.sql [username]@[server_ip]:/path/to/destination
# 우분투 서버에서 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
# 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를 생성해 봤다.
[ 데이터베이스 ] Redis란? (0) | 2024.05.16 |
---|---|
[ 쿼리 ] oracle 테이블 및 데이터 복사 방법 (1) | 2024.04.08 |
[ 쿼리 ] Subquery VS With(CTE) (0) | 2024.03.15 |