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 目录下自动解压成如下样子:
如果要解压后的文件夹名称特殊化,则可以如下方法:
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 列出各种帮助命令
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 实例