2023년 5월 25일 목요일

[2023-05-25] MariaDB dump 로 backup & restore

안녕하세요. 클스 입니다.

오늘은 mariadb 의 mydb를 생성하고 테스트 테이블 만들었습니다.

dump 로 백업하고, 복원하는 방법을 알아보겠습니다.

주기적인 백업은 무척 중요합니다.

우선 mariadb > test db 에 tbz_user 테이블 하나 만들어 줍니다.

CREATE TABLE `tbz_user` (

`user_id` varchar(100) DEFAULT NULL,

`user_nm` varchar(100) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8mb3_general_ci;


데이터를 넣어 봅시다.


INSERT INTO mydb.tbz_user (user_id, user_nm) VALUES('111', '김길동1');

INSERT INTO mydb.tbz_user (user_id, user_nm) VALUES('222', '박순식1');

그리고 백업을 해봅시다. mariadb service 가 실행되어 있어야 합니다.


$ cd ~/mariadb ==> 디렉토리 하나 만들고 들어 갑니다.

[~/mariadb]$ mysqldump -u root -p mydb > mydb.sql

Enter password:

[~/mariadb]$ ll

total 8

-rw-r--r--  1 keulstar  staff   1.9K  5 25 00:26 mydb.sql

[~/mariadb]$


INSERT INTO mydb.tbz_user (user_id, user_nm) VALUES('333', '정한다1');

잘들어 있는지 보시죠~

select * from mydb.tbz_user;

111 김길동1

222 박순식1

333 정한다1

자 이상태에서 이전에 2개의 데이터가 들어있는 것을 복구하면 어떻게 될까요?

예상은 111, 222만 남고 333은 삭제 될 것입니다.

mariadb -u root -p@@wecandoit1 mydb < mydb.sql

select * from mydb.tbz_user;

111 김길동1

222 박순식1

예상대로 111, 222만 나오네요~

그래서 서비스를 만들때, DB 설계 시 백업을 얼마나 자주 해야하는가? 결정하는것이 중요합니다.


그럼 이만 클스 였습니다.