导语:容器化了mysql为了备份mysql数据 打算使用percona容器进行备份。
如果是mysql8 需要使用 percona/percona-xtrabackup 最新的tag
我是5.7.33需要使用percona/percona-xtrabackup:2.4
直接运行一个percona容器测试
# 和mysql容器使用同一个网络 共享mysql的挂载卷
docker run --net=cta_default --volumes-from mysql -it percona/percona-xtrabackup:2.4 bash
xtrabackup --backup --datadir=/var/lib/mysql/ --target-dir=/data1/backup --user=root --password=deepwise --host=mysql
在docker-compose中运行
percona:
hostname: percona
image: percona/percona-xtrabackup:2.4
#image: ipunktbs/xtrabackup:latest
#image: 10.10.3.5/cta/mysql_base:01
container_name: percona
tty: true
environment:
- MYSQL_ROOT_PASSWORD=deepwise
- TZ=Asia/Shanghai
- LANG=C.UTF-8
entrypoint: sh -c "
/sbin/init
"
volumes:
- /data1/mysql-data:/var/lib/mysql
- /data1/mysql-basedir:/srv
- /data1/mysql-backup:/data1/mysql-backup
- /data1/backup.sh:/root/backup.sh
networks:
- work
然后通过定时任务去运行脚本
0 0 * * 0 root docker exec percona bash /root/backup.sh