您可以在 Docker 容器中运行 Percona XtraBackup,而无需安装它。所有必需的库都已安装在容器中。
作为一个轻量级的执行环境,Docker 容器支持创建配置,其中每个程序在单独的容器中运行。您可以在一个容器中运行 Percona Server for MySQL,在另一个容器中运行 Percona XtraBackup。
您基于 Docker 镜像创建一个新的 Docker 容器,该镜像用作新创建容器的模板。Docker 镜像在 Docker Hub 上公开托管,地址为percona/percona-xtrabackup。
$ sudo docker create ... percona/percona-xtrabackup --name xtrabackup ...
本节的范围
Docker 容器提供了一系列不同的选项,可以有效地创建相当复杂的设置。本节演示如何在另一个 Docker 容器中运行的 Percona Server for MySQL 上备份数据。
安装 Docker
您的操作系统可能已经为docker提供了一个包。但是,您的操作系统提供的 Docker 版本可能已经过时。
使用 Docker 站点提供的适用于您的操作系统的安装说明来设置最新版本的docker。
连接到 Percona Server for MySQL 容器
Percona XtraBackup 与数据库服务器结合使用。为 Percona XtraBackup 运行 Docker 容器时,您可以为安装在主机上或在单独 Docker 容器中运行的数据库服务器进行备份。
要在主机或 Docker 容器中设置数据库服务器,请遵循您打算与 Percona XtraBackup 一起使用的受支持产品的文档。
$ sudo docker run -d --name percona-server-mysql \
-e MYSQL_ROOT_PASSWORD = root percona/percona-server:8.0
Percona Server for MySQL 运行后,立即向其中添加一些数据。现在,您已准备好使用 Percona XtraBackup 进行备份。
从 Percona XtraBackup 镜像创建一个 Docker 容器
您可以使用 docker create或docker run命令基于 Percona XtraBackup 映像创建 Docker 容器。docker create 创建一个 Docker 容器并使其可用于稍后启动。
Docker 从 Docker Hub 下载 Percona XtraBackup 镜像。如果不是第一次使用所选的镜像,Docker 会使用本地可用的镜像。
$ sudo docker create --name percona-xtrabackup --volumes-from percona-server-mysql \
percona/percona-xtrabackup \
xtrabackup --backup --datadir = /var/lib/mysql/ --target-dir = /backup \
--user = root --password = mysql
有了--name
你给一个有意义的名称,新的泊坞窗的容器,这样你可以很容易地找到它的其他容器中。
--volumes-from
对percona-server-mysql的引用表明您打算使用与percona-server-mysql容器相同的数据。
使用与创建容器时使用的参数完全相同的参数运行容器:
$ sudo docker start -ai percona-xtrabackup
此命令启动percona-xtrabackup容器,附加到其输入/输出流,并打开一个交互式 shell。
该泊坞窗运行是创建一个泊坞窗容器中,然后立即运行它的快捷命令。
$ sudo docker run --name percona-xtrabackup --volumes-from percona-server-mysql \
percona/percona-xtrabackup
xtrabackup --backup --data-dir = /var/lib/mysql --target-dir = /backup --user = root --password = mysql