이번 포스팅에서는 마리아 DB서버 관리 마지막으로 백업관련하여 포스팅을 작성하도록 하겠습니다.
1. 백업의 종류
백업의 종류로는 물리적 백업과 논리적 백업 두 종류가 존재합니다.
- 물리적 백업: 파일 전체를 다른 공간으로 복사하는 방법
- 논리적 백업: 파일 형태로 만들어 백업하는 방법
2. 물리적 백업
설치된 데이터베이스에 저장된 데이터를 담고 있는 파일(/etc/my.conf 파일의 datadir값)과 설정 파일을 백업하는 방법입니다.
파일자체를 백업하기 때문에 속도가 빠르지만, 운영체제 버전, 데이터베이스 버전, 하드웨어 사양 등에 민감합니다.
만약 위에 말했던 부분들이 일치하지 않는다면 복원이 진행되지 않을 수 있습니다.
/etc/my.cnf.d/mariadb-server.cnf의 파일을 확인해 보면 datadir의 항목을 확인할 수 있습니다.
내용을 보면 /var/lib/mysql안에 DB의 데이터파일이 저장된다는 것을 알 수 있습니다.
해당 폴더로 이동해서 확인해 보면 이전에 만들었던 DB들과 데이터들이 저장되어 있는 것을 확인할 수 있습니다.
3. 논리적 백업
이번 포스팅에서 중심적으로 알아볼 방법입니다.
논리적 방법은 mysqldump 명령을 사용하여 데이터 베이스에 저장된 데이터들을 파일로 변환하여 저장하는 방법입니다.
복원할 대도 파일 형태의 파일을 사용하여 복원합니다. 논리적 백업의 단점으로는 복원 시 데이터베이스의 설정까지
복원은 불가능하고 저장된 데이터에 따라서 복원시간이 오래 걸릴 수 있습니다.
mysqdump 옵션 -u 유저이름 -p 데이터베이스이름 > 파일저장위치
mysqldump명령어를 통해서 백업을 진행할 수 있습니다.
아래의 표는 자주 사용되는 옵션들을 정리하였습니다.
옵션 | 설명 |
--all-databases | 모든 데이터베이스 백업 |
--add-drop-databases | 복원 시 CREATE DATABASE 명령어 앞에 DROP DATABASE 명령어를 추가하여 기존에 존재했던 데이터베이스를 삭제 할 수 있도록 합니다. |
--add-drop-tables | 복원시 CREATE TABLE 명령어 앞에 DROP TABLE 명령어를 추가하여 기존에 존재했던 테이블을 삭제 가능하도록 합니다. |
--no-data | 데이터베이스의 데이터는 저장하지 않고 구조만 저장 |
--lock-all-tables | 백업되는 동안 모든 테이블을 잠금합니다. |
이제 명령어를 통해서 직접 백업을 진행하도록 하겠습니다.
백업 자체는 제대로 진행된 것을 확인가능합니다.
4. 논리적 복원
이제는 복원 작업을 통해서 백업이 제대로 이루어진 것인지 확인해 보도록 하겠습니다.
먼저 마리아 DB에 다시 접속하고 새로운 DB를 생성하겠습니다.
이제 명령어는 반대로 적용하시면 됩니다.
mysql -u 유저이름 -p 데이터베이스이름 < 패치파일
그리고 다시 sql의 접속해서 확인해 보면 기존에 비어있던 NewDemoDB에 새롭게 테이블이 생성된 것을 확인 가능합니다.
이상으로 DB설치부터 설정, 데이터관리, 백업까지 여러 포스팅을 통해서 알아보았습니다.
이번 백업 포스팅을 끝으로 마리아 DB관련 포스팅을 마치도록 하겠습니다.
이상으로 포스팅을 마칩니다. 감사합니다.
'Linux' 카테고리의 다른 글
VMware 리눅스 서버구축_웹서버(Apache) 2 (1) | 2025.03.30 |
---|---|
VMware 리눅스 서버구축_웹서버(Apache) 1 (0) | 2025.03.26 |
VMware-리눅스 DB서버(MariaDB) 3 (0) | 2025.03.13 |
VMware-리눅스 DB서버(MariaDB) 2 (0) | 2025.03.07 |
VMware-리눅스 DB서버(MariaDB) (1) | 2025.03.05 |