version: "3.1"
services:
db:
image: mysql:8
ports:
- "3306:3306"
command: --default-authentication-plugin=mysql_native_password
environment:
MYSQL_ROOT_PASSWORD: test
MYSQL_USER: admin
MYSQL_PASSWORD: adminPW
volumes:
- ./dump:/docker-entrypoint-initdb.d
networks:
- default
phpmyadmin:
image: phpmyadmin/phpmyadmin
ports:
- 8000:80
environment:
MYSQL_ROOT_PASSWORD: test
volumes:
persistent:%
MYSQL_USER: root
MYSQL_PASSWORD: test
When a container is started for the first time, a new database with the specified name will be created and initialized with the provided configuration variables. Furthermore, it will execute files with extensions .sh, .sql and .sql.gz that are found in /docker-entrypoint-initdb.d.
vault_password_file = ~/Documents/.vault_pass.txt
, тогда указывать -К не надо, и достаточно просто иметь в плейбуке become = true
тогда немного меняем систему.
Делаем дамп так:
mysqldump -u user -p --all-databases --add-drop-database > database.sql
после восстановления в таргете все будет как в источнике.
Если хочется это делать красиво и налету, то рекомендую освоить Percona XtraBackup, бесплатный инструмент, чумовейший тул для работы с бэкапами баз данных.