Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- nestjs
- 게임
- Queue
- Sequelize
- JavaScript
- MySQL
- dfs
- jest
- TypeScript
- typeORM
- Python
- AWS
- 자료구조
- OCR
- Express
- nodejs
- Nest.js
- GIT
- Bull
- Dinosaur
- 정렬
- class
- 공룡게임
- MongoDB
- game
- react
- mongoose
- flask
- cookie
Archives
- Today
- Total
포시코딩
[Docker] .sql backup file dump & restore database on docker MySQL and remote server (백업 복구) 본문
MySQL
[Docker] .sql backup file dump & restore database on docker MySQL and remote server (백업 복구)
포시 2023. 8. 22. 10:53728x90
Dump database from Docker
docker exec {container} /usr/bin/mysqldump -u {username} --password={password} {database} > {filename}.sql
Restore database using Docker
cat filename.sql | docker exec -i {container} /usr/bin/mysql -u {username} --password={password} {database_name} --verbose
- --verbose, -v: 커맨드가 실행되는 동안 어떤 작업이 진행되고 있는지 상세 정보를 출력
* mariadb일 경우 /usr/bin/mysql 대신 mariadb-dump를 쓰면 된다고 한다.
설명
원래는 DBeaver에서 제공하는 Restore database 기능을 통해 복구하려고 했으나
MySQL이 Docker위에 있어서 그런지 저런 에러가 발생해 제대로 복구를 못하고 있었다.
이에 그냥 bash에서 명령어를 통해 해결하기로 결정.
보시다시피 이 글 상단에 적어놓은 명령어를 통해 해결했다.
출처: https://stackoverflow.com/questions/46579381/how-to-restore-mysql-dump-from-host-to-docker-container
이미 백업 파일로 만들어져 있는 파일을 전달받아 복구 시키는 상황이었어서 해당 글의 백업 명령어는 사용해보지 않았으나
복구 명령어는 잘 됐으니 잘되지 않을까 싶다.
--verbose 말고도 --progress 옵션이 있는데 사용해보진 않았다.
- --progress: 진행 상황 실시간 모니터링. MySQL 클라이언트 버전 8.0.23 이상에서만 지원
Restore database to remote server
mysql -h {server_address} -u {username} -p {database_name} < backup.sql
서버에 직접 파일을 옮긴 후 Docker 내부 DB에 restore하는 방식이 아닌
백업 파일이 있는 pc에서 restore할 DB가 있는 서버에 바로 restore하는 방법
사용해보니 이 방법이 훨씬 편했다.
한글 깨지는 경우
cat {filename}.sql | docker exec -i {container_id} /usr/bin/mysql -u {user} --password={password} --default-character-set=utf8 {database} --verbose
728x90
'MySQL' 카테고리의 다른 글
SubQuery 대신 LEFT JOIN (0) | 2023.10.06 |
---|---|
[MySQL] 카페24 MySQL CLIENT_PLUGIN_AUTH is required 에러 (0) | 2023.08.21 |
[Docker] 컨테이너 DB 접속 (MySQL, MariaDB) (0) | 2023.08.18 |
[MySQL, MariaDB] sql_mode 문제 (ONLY_FULL_GROUP_BY 비활성화) (0) | 2023.08.16 |
mysqlsh 사용 방법 (0) | 2023.08.03 |