기존에 사용중이던 DB를 새로운 DB에 복사해야하는 작업을 진행해보자~~ 

이 방법을 알면 DB를 백업하고 복원할 수 도 있다~

 

myDatabase ----> targetDatabase로 복사해보자!! 


1. 우선 DB 서버에 접속해야한다. 

DB가 설치되어있는 서버에 접속!!  접속툴은 자기가 쓰는거 아무거나 쓰면 된다.

 

 


2. mysql이 설치된 경로로 이동한다. 

보통 /usr/local/mariadb 경로에 설치되어있다.

cd /usr/local/mariadb

 

3. 경로로 들어와보면 data라는 디렉토리가 있다. 여기에 내 DB와 데이터가 들어있다. 

디렉토리 목록을 조회하는 명령어로 출력해보자.  아래 이미지와 같이 내 DB 가 출력되는걸 볼 수 있다.  "myDatabase" 

ls -al

 

4. 덤프작업을 해준다. 

덤프란 insert into 형식으로 현재 데이터테이블의 구조와 입력된 레코드를 저장하는 방법입니다. 


* 전체 데이터베이스 백업
DB 서버내 존재하는 모든 데이터베이스를 백업하고자 하면 터미널에서 다음과 같이 명령해주면 됩니다. 

mysqldump -u[아이디] -p[패스워드] --all-databases > [백업파일명].sql

ex) mysqldump -utest -p1234 --all-databases > backup_myAllDatabase.sql

 


*  하나의 데이터베이스 백업 
여러 데이터베이스 중에서 하나의 데이터베이스만 백업하고 싶다면 다음과 같이 명령해주면 됩니다. 

mysqldump -u[아이디] -p[패스워드] [데이터베이스명] > [백업파일명].sql
ex) mysqldump -utest -p1234 myDatabase > backup_myDatabase.sql

 

5. ls -al 명령어로 덤프 파일이 잘 생성되었는지 확인한다. 

 

 

6. 덤프파일을 내가 원하는 DB에 넣는다. (백업할 때와 꺽쇠의 방향이 반대이니 주의하세요. )

* 전체 데이터베이스

mysql -u[아이디] -p[패스워드] < [백업파일명].sql
ex) mysqldump -utest -p1234 < backup_myAllDatabase.sql


 
* 하나의 데이터베이스 
mysql -u[아이디] -p[패스워드] [데이터베이스명] < [백업파일명].sql

 

ex) mysqldump -ukyohoonsim -p1234 test < backup_test_db.sql

mysql -u[아이디] -p[패스워드] [데이터베이스명] < [백업파일명].sql

ex) mysqldump -utest -p1234 targetDatabase < backup_myDatabase.sql

 

 

자 이제 DB에 접속해보면 

끝!! 

+ Recent posts