我可以通过复制容器的卷来备份dockerized mysql数据库吗?

问题描述 投票:0回答:1

我启动了一个 mysql docker conainer,我计划定期对数据库进行物理备份,只需复制

/var/lib/mysql
卷即可。我已将卷绑定到主机的文件夹,如下所示:

version: '2.1'
services:
  db:
    image: mysql:5.6
    restart: always
    volumes:
      - ./db/data:/var/lib/mysql
      - ./db/config:/etc/mysql/mysql.conf.d/
    environment:
      - MYSQL_ROOT_PASSWORD=${ROOT_PASSWORD}
      - MYSQL_DATABASE=db
      - MYSQL_USER=user
      - MYSQL_PASSWORD=${USER_PASSWORD}
    ports:
      - "3308:3306"

当然,在开始复制卷之前,数据库必须处于只读模式:

FLUSH TABLES WITH READ LOCK;

复制完成后必须关闭只读模式:

UNLOCK TABLES;

只要数据库服务器在Linux下运行,这种方法有什么问题吗?我的意思是,如果将来尝试根据我的方法从 Linux 系统上的备份恢复数据库,它会起作用吗?

mysql docker docker-compose backup
1个回答
© www.soinside.com 2019 - 2024. All rights reserved.