SlideShare une entreprise Scribd logo
1  sur  44
Télécharger pour lire hors ligne
dbdeployer
Giuseppe Maxia

Software Explorer
The universal MySQL installer
Who's this guy?
About me
‣ Giuseppe Maxia, a.k.a. "The Data Charmer"
‣ Software Explorer at VMware
‣ Several decades development and DB
experience
‣ Long timer MySQL community member.
‣ Blog: http://datacharmer.blogspot.com
‣ Twitter: @datacharmer
!2
Disclaimer
•None of what I say has
anything to do with my
company.

•I also don’t work for Oracle.
dbdeployer
• Command line tool

• No dependencies (single binary per O.S.)

• Interface similar to git, docker

• Fast!

• Runs single database, replication, group replication,
multiple deployments, multi-source replication.

• Integrated help

• Easy to extend.
https://dbdeployer.org
What can it do? (1)
• Install a single MySQL sandbox of ANY VERSION

• Separated from any existing MySQL server

• Completely in user space

• Reasonably isolated

• Easy to use and administer
dbdeployer deploy single 8.0
(Intermission)
WHY would you use it?
• Support to customers using different versions

• Consulting

• Testing of new versions

• Reporting bugs
What can it do? (2)
• Install a group of sandboxes

• Isolated from each other

• Without any relationship

• With binary logging active
dbdeployer deploy multiple 8.0
What can it do? (3)
• Install a master-slave replication cluster

• 1 master and 2 (or more) slaves

• Replication enabled

• Optional GTID

• Easy tools to run operations on all nodes at once
dbdeployer deploy replication 8.0 
--topology=master-slave
What can it do? (4)
• Install a group replication cluster (MySQL 5.7 and 8.0)

• 3 (or more) nodes

• Single-primary or multi-primary

• Group replication configured and enabled

• Easy tools to run operations on all nodes at once
dbdeployer deploy replication 8.0 
--topology=group
What can it do? (5)
• Install a multi-source replication cluster (MySQL 5.7-8.0)

• 3 (or more) nodes

• fan-in or all-masters topologies

• Easy tools to run operations on all nodes at once
dbdeployer deploy replication ndb7.6 
--topology=fan-in # or all-masters
What can it do? (6)
• Install a single or multiple TiDB sandbox
dbdeployer deploy single tidb3.0.0 
--client-from=5.7.25
dbdeployer deploy multiple tidb3.0.0 
--client-from=5.7.25
What can it do? (7)
• Install a Percona XtraDB cluster (5.7)

• 3 (or more) nodes

• Easy tools to run operations on all nodes at once
dbdeployer deploy replication pxc5.7 
--topology=pxc
What can it do? (8)
• Install a MySQL Cluster (NDB 7.6 and 8.0)

• 3 (or more) nodes

• Easy tools to run operations on all nodes at once
dbdeployer deploy replication ndb7.6 
--topology=ndb
What can it do? (9)
• Administer sandboxes

• List available binaries

• List installed sandboxes

• start, restart (with options), stop

• check status

• test

• delete
What can it do? (10)
• Customize sandboxes

• Customizable initialization and database start

• Provide templates for every script

• Allow on-the-fly and permanent template replacement

• Change most of the default values

• Make sandboxes permanent (= can't be deleted)
What can it do? (11)
• Find free ports automatically

• Test replication flow

• Expose MySQL 8 dictionary tables

• Use semi-sync replication

• Run SQL command before and after loading grants

• enable/disable X-protocol
Installation (1)
1. Go to https://github.com/datacharmer/dbdeployer

2. Find releases

3. Download the binary for your O.S.

4. Put it in a directory within your $PATH
5. Run it!
Installation (2)
(if you use go)
1. go get github.com/datacharmer/dbdeployer

2. Use it!
Using it
1. Download a MySQL binary tarball

2. Use dbdeployer to expand it

3. start creating sandboxes
Choose your download
Choose your download
MySQL 8.0.16+ has MINIMAL tarballs!
operations:
unpack once, use forever
$ dbdeployer unpack 
mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz
Unpacking tarball mysql-8.0.11-linux-glibc2.12-
x86_64.tar.gz to $HOME/opt/mysql/8.0.11
$ dbdeployer versions
8.0.11
$ dbdeployer deploy single 8.0.11
Database installed in $HOME/sandboxes/msb_8_0_11
Principles
https://dev.mysql.com/downloads/mysql/get a MySQL
binary tarball
1
mysql-5.7.26-yourOS.tar.gz
dbdeployer unpack2
$HOME/opt/mysql/5.7.26
dbdeployer deploy single3
$HOME/sandboxes/msb_5_7_26
dbdeployer deploy multiple3
$HOME/sandboxes/multi_msb_5_7_26
What can it do? (12)
• List downloads for MacOS and Linux (dbdeployer 1.33.0)

• Download latest binaries directly
dbdeployer downloads list
dbdeployer downloads get mysql-5.7.26.tar.xz
dbdeployer downloads get-by version 8.0 
--newest --minimal
dbdeployer downloads get-unpack 
mysql-5.7.26.tar.xz
dbdeployer help
$ dbdeployer --help
dbdeployer makes MySQL server installation an easy task.
Runs single, multiple, and replicated sandboxes.
Usage:
dbdeployer [command]
Available Commands:
admin sandbox management tasks
cookbook Shows dbdeployer samples
defaults tasks related to dbdeployer defaults
delete delete an installed sandbox
delete-binaries delete an expanded tarball
deploy deploy sandboxes
downloads Manages remote tarballs
export Exports the command structure in JSON format
global Runs a given command in every sandbox
help Help about any command
info Shows information about dbdeployer environment samples
sandboxes List installed sandboxes
unpack unpack a tarball into the binary directory
usage Shows usage of installed sandboxes
versions List available versions
What else can it do? (13)
• Use MySQL 8.0 admin-port

• Replicate between sandboxes

• single/single

• Single to replication/group

• Replication to group/single

• NDB to NDB

• Upgrade a sandbox to a higher version

• Replication between sandboxes of different versions
DEMO
dbdeployer downloads list
dbdeployer downloads get
$ dbdeployer downloads get-by-version 5.0 
--newest --minimal
5.5 MB
File /home/msandbox/mysql-5.0.96.tar.xz
downloaded
Checksum matches
dbdeployer downloads get
$ dbdeployer downloads get-by-version 5.1 
--newest --minimal
10 MB
File /home/msandbox/mysql-5.1.72.tar.xz
downloaded
Checksum matches
$ dbdeployer downloads get-by-version 5.5 
--newest --minimal
6.6 MB
File /home/msandbox/mysql-5.5.62.tar.xz
downloaded
Checksum matches
dbdeployer downloads get
$ dbdeployer downloads get-by-version 5.6 --
newest --minimal
9.1 MB
File /home/msandbox/mysql-5.6.44.tar.xz
downloaded
Checksum matches
$ dbdeployer downloads get-by-version 5.7 --
newest --minimal
.. 23 MB
File /home/msandbox/mysql-5.7.26.tar.xz
downloaded
Checksum matches
dbdeployer downloads get
$ dbdeployer downloads get-by-version 8.0 
--newest --minimal
.... 44 MB
File /home/msandbox/mysql-8.0.16-linux-x86_64-
minimal.tar.xz downloaded
Checksum matches
dbdeployer unpack
$ for F in *.xz ; do dbdeployer unpack $F ; done
Unpacking tarball mysql-5.0.96.tar.xz to $HOME/opt/mysql/5.0.96
......64
Renaming directory /home/msandbox/opt/mysql/mysql-5.0.96 to /home/msandbox/opt/mysql/5.0.96
Unpacking tarball mysql-5.1.72.tar.xz to $HOME/opt/mysql/5.1.72
.......72
Renaming directory /home/msandbox/opt/mysql/mysql-5.1.72 to /home/msandbox/opt/mysql/5.1.72
Unpacking tarball mysql-5.5.62.tar.xz to $HOME/opt/mysql/5.5.62
......60
Renaming directory /home/msandbox/opt/mysql/mysql-5.5.62 to /home/msandbox/opt/mysql/5.5.62
Unpacking tarball mysql-5.6.44.tar.xz to $HOME/opt/mysql/5.6.44
.......72
Renaming directory /home/msandbox/opt/mysql/mysql-5.6.44 to /home/msandbox/opt/mysql/5.6.44
Unpacking tarball mysql-5.7.26.tar.xz to $HOME/opt/mysql/5.7.26
.........99
Renaming directory /home/msandbox/opt/mysql/mysql-5.7.26 to /home/msandbox/opt/mysql/5.7.26
Unpacking tarball mysql-8.0.16-linux-x86_64-minimal.tar.xz to $HOME/opt/mysql/8.0.16
.........100.........200.219
Renaming directory /home/msandbox/opt/mysql/mysql-8.0.16-linux-x86_64-minimal to /home/
msandbox/opt/mysql/8.0.16
dbdeployer deploy
$ dbdeployer deploy single 5.0
# 5.0 => 5.0.96
[...]
. sandbox server started
$ dbdeployer deploy single 5.7
# 5.7 => 5.7.26
[...]
. sandbox server started
$ dbdeployer deploy replication 5.7
[...]
Replication directory installed in $HOME/
sandboxes/rsandbox_5_7_26
dbdeployer deploy
$ dbdeployer deploy replication 8.0 
--concurrent
[...]
$ dbdeployer deploy replication 8.0 
--concurrent --topology=group
[...]
$ dbdeployer deploy replication 8.0 
--concurrent --topology=group 
--single-primary
dbdeployer sandboxes
$ dbdeployer sandboxes
group_msb_8_0_16 : group-multi-primary 8.0.16
[21617 21742 31617 21618 21743 31618 21619 21744 31619 ]
group_sp_msb_8_0_16 : group-single-primary 8.0.16
[22617 22742 32617 22618 22743 32618 22619 22744 32619 ]
msb_5_0_91 : single 5.0.91 [5091 ]
msb_5_7_26 : single 5.7.26 [5726 ]
msb_8_0_16 : single 8.0.16
[8016 18016 ]
rsandbox_5_7_26 : master-slave 5.7.26
[19327 19328 19329 ]
LIVE DEMO
Demo it yourself!
Dbdeployer cookbook list
Demo it yourself!
Dbdeployer cookbook list
`
dbdeployer uses semantic versioning (https://semver.org)

Current version: 1.33.0
Version
component
When does it change? example
major
Backward Incompatible API changes.

(Including new features)
1.21.3 => 2.0.0
minor
Backward compatible API changes.

Backward compatible new features
1.21.3 => 1.22.0
revision
Bug fixes. 

Code refactoring. 

No API changes
1.21.3 => 1.21.4
Parting thoughts
• dbdeployer is open source (Apache license)

• Contributions are welcome! (See
CONTRIBUTING.md)
https://dbdeployer.org
Q&A
https://dbdeployer.org

Contenu connexe

Tendances

How (not) to kill your MySQL infrastructure
How (not) to kill your MySQL infrastructureHow (not) to kill your MySQL infrastructure
How (not) to kill your MySQL infrastructureMiklos Szel
 
Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Katie Sylor-Miller
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcppartisriva
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with PackerMatt Wrock
 
Passwordless login with unix auth_socket
Passwordless login with unix auth_socketPasswordless login with unix auth_socket
Passwordless login with unix auth_socketOtto Kekäläinen
 
Introduction of mesos persistent storage
Introduction of mesos persistent storageIntroduction of mesos persistent storage
Introduction of mesos persistent storageZhou Weitao
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebula Project
 
Composer Tools & Frameworks for Drupal
Composer Tools & Frameworks for DrupalComposer Tools & Frameworks for Drupal
Composer Tools & Frameworks for DrupalPantheon
 
Setting up mongo replica set
Setting up mongo replica setSetting up mongo replica set
Setting up mongo replica setSudheer Kondla
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsDevOps.com
 
On MongoDB backup
On MongoDB backupOn MongoDB backup
On MongoDB backupWilliam Yeh
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Otto Kekäläinen
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQLI Goo Lee
 
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS Erik Osterman
 
Docker security 101 (CfgMgmtCamp 2019)
Docker security 101 (CfgMgmtCamp 2019)Docker security 101 (CfgMgmtCamp 2019)
Docker security 101 (CfgMgmtCamp 2019)Frank Louwers
 
What I learned from FluentConf and then some
What I learned from FluentConf and then someWhat I learned from FluentConf and then some
What I learned from FluentConf and then someOhad Kravchick
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimizationLouis liu
 

Tendances (20)

How (not) to kill your MySQL infrastructure
How (not) to kill your MySQL infrastructureHow (not) to kill your MySQL infrastructure
How (not) to kill your MySQL infrastructure
 
Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019Happy Browser, Happy User! WordSesh 2019
Happy Browser, Happy User! WordSesh 2019
 
Powershell dcpp
Powershell dcppPowershell dcpp
Powershell dcpp
 
Building Windows Images with Packer
Building Windows Images with PackerBuilding Windows Images with Packer
Building Windows Images with Packer
 
Passwordless login with unix auth_socket
Passwordless login with unix auth_socketPasswordless login with unix auth_socket
Passwordless login with unix auth_socket
 
Introduction of mesos persistent storage
Introduction of mesos persistent storageIntroduction of mesos persistent storage
Introduction of mesos persistent storage
 
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto GarcíaOpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
OpenNebulaConf2015 2.02 Backing up your VM’s with Bacula - Alberto García
 
Cialug August 2021
Cialug August 2021Cialug August 2021
Cialug August 2021
 
Composer Tools & Frameworks for Drupal
Composer Tools & Frameworks for DrupalComposer Tools & Frameworks for Drupal
Composer Tools & Frameworks for Drupal
 
Setting up mongo replica set
Setting up mongo replica setSetting up mongo replica set
Setting up mongo replica set
 
Enhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical DeploymentsEnhancing OpenShift Security for Business Critical Deployments
Enhancing OpenShift Security for Business Critical Deployments
 
On MongoDB backup
On MongoDB backupOn MongoDB backup
On MongoDB backup
 
Ansible MySQL MHA
Ansible MySQL MHAAnsible MySQL MHA
Ansible MySQL MHA
 
Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...Less passwords, more security: unix socket authentication and other MariaDB h...
Less passwords, more security: unix socket authentication and other MariaDB h...
 
Ansible
AnsibleAnsible
Ansible
 
Intro ProxySQL
Intro ProxySQLIntro ProxySQL
Intro ProxySQL
 
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS An Ensemble Core with Docker - Solving a Real Pain in the PaaS
An Ensemble Core with Docker - Solving a Real Pain in the PaaS
 
Docker security 101 (CfgMgmtCamp 2019)
Docker security 101 (CfgMgmtCamp 2019)Docker security 101 (CfgMgmtCamp 2019)
Docker security 101 (CfgMgmtCamp 2019)
 
What I learned from FluentConf and then some
What I learned from FluentConf and then someWhat I learned from FluentConf and then some
What I learned from FluentConf and then some
 
MySQL Oslayer performace optimization
MySQL  Oslayer performace optimizationMySQL  Oslayer performace optimization
MySQL Oslayer performace optimization
 

Similaire à Dbdeployer, the universal installer

Build MySQL virtual enviroment
Build MySQL virtual enviromentBuild MySQL virtual enviroment
Build MySQL virtual enviromentTaras Vasylyuk
 
Setting up a MySQL Docker Container
Setting up a MySQL Docker ContainerSetting up a MySQL Docker Container
Setting up a MySQL Docker ContainerVictor S. Recio
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardwayDave Pitts
 
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementNicola Paolucci
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南maclean liu
 
Guide to compile your own 4.3.4 cataclysm server
Guide to compile your own 4.3.4 cataclysm serverGuide to compile your own 4.3.4 cataclysm server
Guide to compile your own 4.3.4 cataclysm serverMohit Maheshwari
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Praguetomasbart
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Patrick Chanezon
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...Atlassian
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017Dave Stokes
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments Ohad Raz
 
BDM32: AdamCloud Project - Part II
BDM32: AdamCloud Project - Part IIBDM32: AdamCloud Project - Part II
BDM32: AdamCloud Project - Part IIDavid Lauzon
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)Gustavo Rene Antunez
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayDan Radez
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014biicode
 

Similaire à Dbdeployer, the universal installer (20)

Build MySQL virtual enviroment
Build MySQL virtual enviromentBuild MySQL virtual enviroment
Build MySQL virtual enviroment
 
OTRS
OTRSOTRS
OTRS
 
MySQL Sandbox 3
MySQL Sandbox 3MySQL Sandbox 3
MySQL Sandbox 3
 
Setting up a MySQL Docker Container
Setting up a MySQL Docker ContainerSetting up a MySQL Docker Container
Setting up a MySQL Docker Container
 
Mysql
Mysql Mysql
Mysql
 
Postgres the hardway
Postgres the hardwayPostgres the hardway
Postgres the hardway
 
The age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster managementThe age of orchestration: from Docker basics to cluster management
The age of orchestration: from Docker basics to cluster management
 
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南Enterprise manager cloud control 12c(12.1) &agent安装图文指南
Enterprise manager cloud control 12c(12.1) &agent安装图文指南
 
Guide to compile your own 4.3.4 cataclysm server
Guide to compile your own 4.3.4 cataclysm serverGuide to compile your own 4.3.4 cataclysm server
Guide to compile your own 4.3.4 cataclysm server
 
Docker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in PragueDocker and friends at Linux Days 2014 in Prague
Docker and friends at Linux Days 2014 in Prague
 
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
Docker San Francisco Meetup April 2015 - The Docker Orchestration Ecosystem o...
 
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
AtlasCamp 2015: The age of orchestration: From Docker basics to cluster manag...
 
MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017MySQL 101 PHPTek 2017
MySQL 101 PHPTek 2017
 
Rac on NFS
Rac on NFSRac on NFS
Rac on NFS
 
WordPress Development Environments
WordPress Development Environments WordPress Development Environments
WordPress Development Environments
 
BDM32: AdamCloud Project - Part II
BDM32: AdamCloud Project - Part IIBDM32: AdamCloud Project - Part II
BDM32: AdamCloud Project - Part II
 
My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)My First 100 days with a MySQL DBMS (WP)
My First 100 days with a MySQL DBMS (WP)
 
MySQL on Docker and Kubernetes
MySQL on Docker and KubernetesMySQL on Docker and Kubernetes
MySQL on Docker and Kubernetes
 
OpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage DayOpenStack Tokyo Meeup - Gluster Storage Day
OpenStack Tokyo Meeup - Gluster Storage Day
 
Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014Dependencies Managers in C/C++. Using stdcpp 2014
Dependencies Managers in C/C++. Using stdcpp 2014
 

Plus de Giuseppe Maxia

A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesGiuseppe Maxia
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBGiuseppe Maxia
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorGiuseppe Maxia
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorialGiuseppe Maxia
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenGiuseppe Maxia
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usabilityGiuseppe Maxia
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenGiuseppe Maxia
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringGiuseppe Maxia
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandboxGiuseppe Maxia
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationGiuseppe Maxia
 
Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Giuseppe Maxia
 
Testing early mysql releases in a sandbox
Testing early mysql releases in a sandboxTesting early mysql releases in a sandbox
Testing early mysql releases in a sandboxGiuseppe Maxia
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandboxGiuseppe Maxia
 
Building simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorBuilding simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorGiuseppe Maxia
 

Plus de Giuseppe Maxia (20)

Dbdeployer
DbdeployerDbdeployer
Dbdeployer
 
A quick tour of Mysql 8 roles
A quick tour of Mysql 8 rolesA quick tour of Mysql 8 roles
A quick tour of Mysql 8 roles
 
MySQL document_store
MySQL document_storeMySQL document_store
MySQL document_store
 
Replication skeptic
Replication skepticReplication skeptic
Replication skeptic
 
Synchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDBSynchronise your data between MySQL and MongoDB
Synchronise your data between MySQL and MongoDB
 
Juggle your data with Tungsten Replicator
Juggle your data with Tungsten ReplicatorJuggle your data with Tungsten Replicator
Juggle your data with Tungsten Replicator
 
MySQL in your laptop
MySQL in your laptopMySQL in your laptop
MySQL in your laptop
 
Script it
Script itScript it
Script it
 
Tungsten Replicator tutorial
Tungsten Replicator tutorialTungsten Replicator tutorial
Tungsten Replicator tutorial
 
Preventing multi master conflicts with tungsten
Preventing multi master conflicts with tungstenPreventing multi master conflicts with tungsten
Preventing multi master conflicts with tungsten
 
MySQL high availability power and usability
MySQL high availability power and usabilityMySQL high availability power and usability
MySQL high availability power and usability
 
Solving MySQL replication problems with Tungsten
Solving MySQL replication problems with TungstenSolving MySQL replication problems with Tungsten
Solving MySQL replication problems with Tungsten
 
State of the art of MySQL replication and clustering
State of the art of MySQL replication and clusteringState of the art of MySQL replication and clustering
State of the art of MySQL replication and clustering
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandbox
 
Mysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replicationMysql 5.5 and 5.6 replication
Mysql 5.5 and 5.6 replication
 
Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012Lightning talks percona live mysql_2012
Lightning talks percona live mysql_2012
 
Replication 101
Replication 101Replication 101
Replication 101
 
Testing early mysql releases in a sandbox
Testing early mysql releases in a sandboxTesting early mysql releases in a sandbox
Testing early mysql releases in a sandbox
 
Testing mysql creatively in a sandbox
Testing mysql creatively in a sandboxTesting mysql creatively in a sandbox
Testing mysql creatively in a sandbox
 
Building simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicatorBuilding simple and complex clusters with tungsten replicator
Building simple and complex clusters with tungsten replicator
 

Dernier

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Orbitshub
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfOverkill Security
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Dernier (20)

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Cyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdfCyberprint. Dark Pink Apt Group [EN].pdf
Cyberprint. Dark Pink Apt Group [EN].pdf
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Dbdeployer, the universal installer

  • 2. Who's this guy? About me ‣ Giuseppe Maxia, a.k.a. "The Data Charmer" ‣ Software Explorer at VMware ‣ Several decades development and DB experience ‣ Long timer MySQL community member. ‣ Blog: http://datacharmer.blogspot.com ‣ Twitter: @datacharmer !2
  • 3. Disclaimer •None of what I say has anything to do with my company. •I also don’t work for Oracle.
  • 4. dbdeployer • Command line tool • No dependencies (single binary per O.S.) • Interface similar to git, docker • Fast! • Runs single database, replication, group replication, multiple deployments, multi-source replication. • Integrated help • Easy to extend. https://dbdeployer.org
  • 5. What can it do? (1) • Install a single MySQL sandbox of ANY VERSION • Separated from any existing MySQL server • Completely in user space • Reasonably isolated • Easy to use and administer dbdeployer deploy single 8.0
  • 6. (Intermission) WHY would you use it? • Support to customers using different versions • Consulting • Testing of new versions • Reporting bugs
  • 7. What can it do? (2) • Install a group of sandboxes • Isolated from each other • Without any relationship • With binary logging active dbdeployer deploy multiple 8.0
  • 8. What can it do? (3) • Install a master-slave replication cluster • 1 master and 2 (or more) slaves • Replication enabled • Optional GTID • Easy tools to run operations on all nodes at once dbdeployer deploy replication 8.0 --topology=master-slave
  • 9. What can it do? (4) • Install a group replication cluster (MySQL 5.7 and 8.0) • 3 (or more) nodes • Single-primary or multi-primary • Group replication configured and enabled • Easy tools to run operations on all nodes at once dbdeployer deploy replication 8.0 --topology=group
  • 10. What can it do? (5) • Install a multi-source replication cluster (MySQL 5.7-8.0) • 3 (or more) nodes • fan-in or all-masters topologies • Easy tools to run operations on all nodes at once dbdeployer deploy replication ndb7.6 --topology=fan-in # or all-masters
  • 11. What can it do? (6) • Install a single or multiple TiDB sandbox dbdeployer deploy single tidb3.0.0 --client-from=5.7.25 dbdeployer deploy multiple tidb3.0.0 --client-from=5.7.25
  • 12. What can it do? (7) • Install a Percona XtraDB cluster (5.7) • 3 (or more) nodes • Easy tools to run operations on all nodes at once dbdeployer deploy replication pxc5.7 --topology=pxc
  • 13. What can it do? (8) • Install a MySQL Cluster (NDB 7.6 and 8.0) • 3 (or more) nodes • Easy tools to run operations on all nodes at once dbdeployer deploy replication ndb7.6 --topology=ndb
  • 14. What can it do? (9) • Administer sandboxes • List available binaries • List installed sandboxes • start, restart (with options), stop • check status • test • delete
  • 15. What can it do? (10) • Customize sandboxes • Customizable initialization and database start • Provide templates for every script • Allow on-the-fly and permanent template replacement • Change most of the default values • Make sandboxes permanent (= can't be deleted)
  • 16. What can it do? (11) • Find free ports automatically • Test replication flow • Expose MySQL 8 dictionary tables • Use semi-sync replication • Run SQL command before and after loading grants • enable/disable X-protocol
  • 17. Installation (1) 1. Go to https://github.com/datacharmer/dbdeployer 2. Find releases 3. Download the binary for your O.S. 4. Put it in a directory within your $PATH 5. Run it!
  • 18.
  • 19.
  • 20. Installation (2) (if you use go) 1. go get github.com/datacharmer/dbdeployer 2. Use it!
  • 21. Using it 1. Download a MySQL binary tarball 2. Use dbdeployer to expand it 3. start creating sandboxes
  • 23. Choose your download MySQL 8.0.16+ has MINIMAL tarballs!
  • 24. operations: unpack once, use forever $ dbdeployer unpack mysql-8.0.11-linux-glibc2.12-x86_64.tar.gz Unpacking tarball mysql-8.0.11-linux-glibc2.12- x86_64.tar.gz to $HOME/opt/mysql/8.0.11 $ dbdeployer versions 8.0.11 $ dbdeployer deploy single 8.0.11 Database installed in $HOME/sandboxes/msb_8_0_11
  • 25. Principles https://dev.mysql.com/downloads/mysql/get a MySQL binary tarball 1 mysql-5.7.26-yourOS.tar.gz dbdeployer unpack2 $HOME/opt/mysql/5.7.26 dbdeployer deploy single3 $HOME/sandboxes/msb_5_7_26 dbdeployer deploy multiple3 $HOME/sandboxes/multi_msb_5_7_26
  • 26. What can it do? (12) • List downloads for MacOS and Linux (dbdeployer 1.33.0) • Download latest binaries directly dbdeployer downloads list dbdeployer downloads get mysql-5.7.26.tar.xz dbdeployer downloads get-by version 8.0 --newest --minimal dbdeployer downloads get-unpack mysql-5.7.26.tar.xz
  • 27. dbdeployer help $ dbdeployer --help dbdeployer makes MySQL server installation an easy task. Runs single, multiple, and replicated sandboxes. Usage: dbdeployer [command] Available Commands: admin sandbox management tasks cookbook Shows dbdeployer samples defaults tasks related to dbdeployer defaults delete delete an installed sandbox delete-binaries delete an expanded tarball deploy deploy sandboxes downloads Manages remote tarballs export Exports the command structure in JSON format global Runs a given command in every sandbox help Help about any command info Shows information about dbdeployer environment samples sandboxes List installed sandboxes unpack unpack a tarball into the binary directory usage Shows usage of installed sandboxes versions List available versions
  • 28. What else can it do? (13) • Use MySQL 8.0 admin-port • Replicate between sandboxes • single/single • Single to replication/group • Replication to group/single • NDB to NDB • Upgrade a sandbox to a higher version • Replication between sandboxes of different versions
  • 29. DEMO
  • 31. dbdeployer downloads get $ dbdeployer downloads get-by-version 5.0 --newest --minimal 5.5 MB File /home/msandbox/mysql-5.0.96.tar.xz downloaded Checksum matches
  • 32. dbdeployer downloads get $ dbdeployer downloads get-by-version 5.1 --newest --minimal 10 MB File /home/msandbox/mysql-5.1.72.tar.xz downloaded Checksum matches $ dbdeployer downloads get-by-version 5.5 --newest --minimal 6.6 MB File /home/msandbox/mysql-5.5.62.tar.xz downloaded Checksum matches
  • 33. dbdeployer downloads get $ dbdeployer downloads get-by-version 5.6 -- newest --minimal 9.1 MB File /home/msandbox/mysql-5.6.44.tar.xz downloaded Checksum matches $ dbdeployer downloads get-by-version 5.7 -- newest --minimal .. 23 MB File /home/msandbox/mysql-5.7.26.tar.xz downloaded Checksum matches
  • 34. dbdeployer downloads get $ dbdeployer downloads get-by-version 8.0 --newest --minimal .... 44 MB File /home/msandbox/mysql-8.0.16-linux-x86_64- minimal.tar.xz downloaded Checksum matches
  • 35. dbdeployer unpack $ for F in *.xz ; do dbdeployer unpack $F ; done Unpacking tarball mysql-5.0.96.tar.xz to $HOME/opt/mysql/5.0.96 ......64 Renaming directory /home/msandbox/opt/mysql/mysql-5.0.96 to /home/msandbox/opt/mysql/5.0.96 Unpacking tarball mysql-5.1.72.tar.xz to $HOME/opt/mysql/5.1.72 .......72 Renaming directory /home/msandbox/opt/mysql/mysql-5.1.72 to /home/msandbox/opt/mysql/5.1.72 Unpacking tarball mysql-5.5.62.tar.xz to $HOME/opt/mysql/5.5.62 ......60 Renaming directory /home/msandbox/opt/mysql/mysql-5.5.62 to /home/msandbox/opt/mysql/5.5.62 Unpacking tarball mysql-5.6.44.tar.xz to $HOME/opt/mysql/5.6.44 .......72 Renaming directory /home/msandbox/opt/mysql/mysql-5.6.44 to /home/msandbox/opt/mysql/5.6.44 Unpacking tarball mysql-5.7.26.tar.xz to $HOME/opt/mysql/5.7.26 .........99 Renaming directory /home/msandbox/opt/mysql/mysql-5.7.26 to /home/msandbox/opt/mysql/5.7.26 Unpacking tarball mysql-8.0.16-linux-x86_64-minimal.tar.xz to $HOME/opt/mysql/8.0.16 .........100.........200.219 Renaming directory /home/msandbox/opt/mysql/mysql-8.0.16-linux-x86_64-minimal to /home/ msandbox/opt/mysql/8.0.16
  • 36. dbdeployer deploy $ dbdeployer deploy single 5.0 # 5.0 => 5.0.96 [...] . sandbox server started $ dbdeployer deploy single 5.7 # 5.7 => 5.7.26 [...] . sandbox server started $ dbdeployer deploy replication 5.7 [...] Replication directory installed in $HOME/ sandboxes/rsandbox_5_7_26
  • 37. dbdeployer deploy $ dbdeployer deploy replication 8.0 --concurrent [...] $ dbdeployer deploy replication 8.0 --concurrent --topology=group [...] $ dbdeployer deploy replication 8.0 --concurrent --topology=group --single-primary
  • 38. dbdeployer sandboxes $ dbdeployer sandboxes group_msb_8_0_16 : group-multi-primary 8.0.16 [21617 21742 31617 21618 21743 31618 21619 21744 31619 ] group_sp_msb_8_0_16 : group-single-primary 8.0.16 [22617 22742 32617 22618 22743 32618 22619 22744 32619 ] msb_5_0_91 : single 5.0.91 [5091 ] msb_5_7_26 : single 5.7.26 [5726 ] msb_8_0_16 : single 8.0.16 [8016 18016 ] rsandbox_5_7_26 : master-slave 5.7.26 [19327 19328 19329 ]
  • 42. ` dbdeployer uses semantic versioning (https://semver.org) Current version: 1.33.0 Version component When does it change? example major Backward Incompatible API changes. (Including new features) 1.21.3 => 2.0.0 minor Backward compatible API changes. Backward compatible new features 1.21.3 => 1.22.0 revision Bug fixes. Code refactoring. No API changes 1.21.3 => 1.21.4
  • 43. Parting thoughts • dbdeployer is open source (Apache license) • Contributions are welcome! (See CONTRIBUTING.md) https://dbdeployer.org