dbdeployer  MySQL沙盒部署详解

git地址: https://github.com/datacharmer/dbdeployer

dbdeployer是go语言版实现的sandbox,和sandbox同一个作者。

DBdeployer is a tool that deploys MySQL database servers easily. This is a port of MySQL-Sandbox, originally written in Perl, and re-designed from the ground up in Go. See the features comparison for more detail.


dbdeployer的安装:

直接到github下载release包即可

tar xf dbdeployer-1.19.0.linux.tar.gz -C ./

chmod +x dbdeployer-1.19.0.linux

mv dbdeployer-1.19.0.linux /usr/local/bin/dbdeployer



mkdir /root/opt/mysql -pv

【方式1、离线方式 部署mysql安装包】

将 mysql(我这里用的是5.7和8.0)的general安装包传到服务器上,然后执行

dbdeployer unpack  mysql-8.0.15-linux-glibc2.12-x86_64.tar.xz

dbdeployer unpack  mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz


unpack后,在/root/opt/mysql 目录下自动解压成如下样子:

image.png


如果要解压后的文件夹名称特殊化,则可以如下方法:

dbdeployer unpack --prefix=ps Percona-Server-5.7.21-linux.tar.gz

Unpacking tarball Percona-Server-5.7.21-linux.tar.gz to $HOME/opt/mysql/ps5.7.21


【方式2、在线下载的方式部署mysql安装包】

dbdeployer remote --help

dbdeployer remote list   # 查看远程可下载的mysql安装包

Files available in https://raw.githubusercontent.com/datacharmer/mysql-docker-minimal/master/dbdata/available.json

4.1 -> [mysql-4.1.22]

5.0 -> [mysql-5.0.15 mysql-5.0.96]

5.1 -> [mysql-5.1.72]

5.5 -> [mysql-5.5.61 mysql-5.5.62]

5.6 -> [mysql-5.6.41 mysql-5.6.43]

5.7 -> [mysql-5.7.24 mysql-5.7.25]

8.0 -> [mysql-8.0.13 mysql-8.0.15]


dbdeployer remote download mysql-5.6.43   # 在线下载 mysql-5.6.43的安装包

dbdeployer unpack mysql-5.6.43.tar.xz 




常用命令:


dbdeployer  -h 列出各种帮助命令

image.png



dbdeployer sandboxes     查看当前部署了哪些mysql sanbox


dbdeployer deploy -h    查看部署相关的命令及参数


Available Commands:

 dbdeployer deploy  multiple     --help   部署多个独立的mysql

 dbdeployer deploy  replication  --help  部署复制环境的mysql

 dbdeployer deploy  single      --help      部署单节点mysql



dbdeployer deploy replication --help  查看帮助

dbdeployer deploy replication 8.0.15 --bind-address='0.0.0.0' --gtid --read-only-slaves --nodes=2 --semi-sync --topology=master-slave   # 部署一套1M1S的gtid复制集群

dbdeployer deploy replication 5.7.25 --bind-address='0.0.0.0' --topology=group  部署一套多主MGR集群

dbdeployer deploy replication 5.7.25 --bind-address='0.0.0.0' --topology=group --single-primary  部署一套单主MGR集群

dbdeployer deploy single  5.7.25 --bind-address='0.0.0.0' --gtid  部署一台单机GTID的MySQL5.7实例

dbdeployer deploy single 5.7.25 --bind-address='0.0.0.0' --gtid --init-general-log --enable-general-log --disable-mysqlx --force  #强制覆盖部署一他gtid 5.7实例,并且generallog

dbdeployer global status     列出全部sanbox实例的情况


dbdeployer delete rsandbox_8_0_15  删除 rsandbox_8_0_15 实例