2020-12-30 09:31:36

어떠한 원인에 의해 잘 실행되던 DB 서버가 혹여나 날아가 버릴 수도 있기 때문에, 주기적으로 데이터베이스를 백업해주는 것은 중요합니다. 오늘은 MariaDB, MySQL 데이터베이스를 백업하고 복구하는 방법에 대해 정리해보도록 하겠습니다. 

 

백업

1. 전체 데이터베이스 백업

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

 

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

 

ex) mysqldump -ukyohoonsim -p1234 --all-databases > backup_all_db.sql

 

만약 "원격" 데이터베이스를 백업하려면 호스트 정보도 추가해줘야 합니다. 

 

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

 

ex) mysqldump -h 43.***.***.*** -u kyohoonsim -p -all-databases > backup_all_db.sql 

 

2. 하나의 데이터베이스 백업 

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

 

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

 

ex) mysqldump -ukyohoonsim -p1234 test_db > backup_test_db.sql

 

 

복구

백업해놓은 sql 파일을 이용해서 다시금 데이터베이스를 복구시킬 수 있습니다. 

 

1. 전체 데이터베이스 복구

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

 

ex) mysql -ukyohoonsim -p1234 < backup_all_db.sql

 

백업할 때와 꺽쇠의 방향이 반대이니 주의하세요. 그리고 명령 시작이 mysqldump가 아니라 mysql이라는 것에 당황하지 마세요. 

 

2. 하나의 데이터베이스 복구

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

 

ex) mysql -ukyohoonsim -p1234 test_db < backup_test_db.sql

 

 

(이 글은 2023-05-11에 마지막으로 수정되었습니다)

 

 

참고자료

[1] https://nasn.tistory.com/146