Docker를 이용하여 Maria DB를 사용할 때 백업을 진행하려면 다음의 공식 가이드를 참고한다.
mariadb
We and third parties use cookies or similar technologies ("Cookies") as described below to collect and process personal data, such as your IP address or browser information. You can learn more about how this site uses Cookies by reading our privacy policy
hub.docker.com
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 |