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 實例