dbdeployer MySQL沙盒部署詳解
- 2019 年 10 月 5 日
- 筆記
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 目錄下自動解壓成如下樣子:

如果要解壓後的文件夾名稱特殊化,則可以如下方法:
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 實例