Docker를 이용하여 Maria DB를 사용할 때 백업을 진행하려면 다음의 공식 가이드를 참고한다.
Creating database dumps
$ docker exec some-mariadb sh -c 'exec mysqldump --all-databases -uroot -pYourpassword' > /some/path/on/your/host/all-databases.sql
필자의 경우 서버에서 해당 명령어 실행 시 다음과 같은 에러를 맞았다.
docker mysqldump: unknown variable 'column-statistics=0'
이럴 때 당황하지 않는다.
1. $ docker ps 를 이용하여 현재 동작중인 컨테이너의 이름을 확인하고
2. $ docker exec -it your_mariadb /bin/bash
3. $vim /etc/mysql/my.cnf 파일로 이동후
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
#column-statistics=0 #<-이녀석을 주석처리
3.1. !wq 하면 저장된다.
4. 그리고 쿨하게 컨테이너에서 빠져나온 다음 컨테이너를 재실행한다. (중요)
$ docker restart your_mariadb
5. 마지막으로 아까 전에 처리하지 못한 백업 명령을 실행시킨다.
$ docker exec some-mariadb sh -c 'exec mysqldump --all-databases -uroot -pYourpassword' > /some/path/on/your/host/all-
databases.sql
Maria DB 이미지.. 백업조차 간편하다.
(하지만 예상보다 오래 발목을 잡혔기 때문에 많이 쿨하진 않았다.)
실행 환경
Ubuntu 18.04.4 LTS | docker image mariadb:10.4
'클라우드 컴퓨팅 & NoSQL > Docker' 카테고리의 다른 글
[도커(Docker)] 도커 컴포즈(Docker compose) 사용법 (0) | 2021.04.17 |
---|---|
도커 컨테이너(Docker container) 빌드하기 (0) | 2021.04.11 |
도커(Docker) docker run <image>의 실행순서 (0) | 2021.04.09 |
도커(Docker)를 사용하는 이유 (0) | 2021.04.08 |
[Docker] Container 를 사용하는 이유 (0) | 2021.03.24 |