SlideShare a Scribd company logo
Utilizing Ansible to Manage a Highly
Available MySQL Environment
MYSQL – ANSIBLE - MHA
Presented by ALKIN TEZUYSAL , MIKLOS SZEL
April 14 2015
About : Alkin Tezuysal
 Currently Team Manager, Pythian
 20 years experience in RDBMS world
 Acted as Sr. DBA to Supervisor roles
 Previously worked
 ebay Intl, Supervisor
 Bank of America, Sr. DBA
 AT&T, Sr. DBA
 How to Contact:
 Email: tezuysal@pythian.com
 Twitter: @ask_dba
 Linkedin: tr.linkedin.com/in/askdba/en
© 2015 Pythian Confidential2
About : Miklos ‘Mukka’ Szel
 Currently MySQL Consultant, Pythian
 10+ years experience System and Database world
 Acted as Sr. DBA, Sr. Ops, Developer
 Previously worked
Own startup
ISP
Walt Disney
 How to Contact:
 Email: szel@pythian.com
 Twitter: @42mukka
 Linkedin: hu.linkedin.com/in/miklosszel/en
© 2015 Pythian Confidential3
Ansible in a Nutshell
 Simple
 Agentless
 Easy to manage
 Idempotent
 100% Python
 Configuration management
 Uses ssh
For more: http://docs.ansible.com/intro_installation.html
© 2015 Pythian Confidential4
MHA in a Nutshell
 Automated Master failover
 Interactive Master failover
 Non-interactive Master failover
 Online Master switching
 Easy to configure
 Open Source HA utility
For more: https://code.google.com/p/mysql-master-ha/
© 2015 Pythian Confidential5
MySQL in a Nutshell
 De-facto standard for web, e-commerce and startup
companies
 Easy to manage and use
 Why we all are here
For more:
http://www.oracle.com/us/products/mysql/overview/index.ht
ml
© 2015 Pythian Confidential6
Back to Ansible
1) Installation
2) Configuration
3) Best practices
4) Demo on how to use with MySQL-MHA
© 2015 Pythian Confidential7
Installation - I
 Verify your version of Python, install pip:
$ sudo easy_install pip
 Add Python modules:
$ sudo pip install paramiko PyYAML Jinja2 httplib2
 Install Ansible via pip :
$ sudo pip install ansible
 Install Ansible via yum:
# install the epel-release RPM if needed on CentOS, RHEL, or Scientific Linux
$ sudo yum install ansible
 On OSX :
$ brew install ansible
For more: http://docs.ansible.com/intro_installation.html
© 2015 Pythian Confidential8
Installation - II
 Set hosts to test:
$ echo "127.0.0.1" > ~/ansible_hosts
$ export ANSIBLE_HOSTS=~/ansible_hosts
 Test your installation:
$ ansible all -m ping --ask-pass
SSH password:
127.0.0.1 | success >> {
"changed": false,
"ping": "pong"
}
© 2015 Pythian Confidential9
Configuration- I
 Setup Config file:
– ANSIBLE_CONFIG (an environment variable)
– ansible.cfg (in the current directory)
– ansible.cfg (in the home directory)
– /etc/ansible/ansible.cfg
For more: http://docs.ansible.com/intro_configuration.html
© 2015 Pythian Confidential10
Configuration- II
• Inventory file : Define hosts and groups
• Default file : /etc/ansible/hosts
[databases]
54.167.36.187 mysql_role=master server_id=1
23.22.187.189 mysql_role=slave server_id=2 backup_src=54.167.36.187
54.87.24.162 mysql_role=slave server_id=3 backup_src=54.167.36.187
[system]
54.167.36.187 mycnf=plsc_s1 mysql_role=master nickname=dev-plsc-m
23.22.187.189 mycnf=plsc_s2 mysql_role=slave nickname=dev-plsc-s1
54.87.24.162 mysql_role=slave nickname=dev-plsc-s2ample:
• Dynamic Inventory :
– AWS EC2 External Inventory Script (ec2.py)
# ansible-playbook -i "localhost," ansible/playbooks/launch_ec2.yml
# /ec2.py --list
For more: http://docs.ansible.com/intro_inventory.html ,
http://docs.ansible.com/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script
© 2015 Pythian Confidential11
Configuration- III
• Playbooks
– YAML format
– One or more “plays” in a list
– Executes tasks
– Supports hosts
– Supports roles
– Supports tags
– Supports groups
– Supports remote_user
– Provides idempotent runs against host groups
– Uses ansible modules
Example:
$ ansible-playbook playbook.yml --list-hosts
$ ansible-playbook playbook.yml --list-tasks
$ ansible-playbook playbook.yml -f 10
$ ansible-playbook playbook.yml --tags=setup,configure --list-tasks
$ ansible-playbook playbook.yml --tags=always,setup,configure --list-tasks
For more: http://docs.ansible.com/playbooks_intro.html
© 2015 Pythian Confidential12
Configuration- IV
• Ansible built-in modules
– Providing robust functions
– Runtime or via playbook
– Can be customized or developed
Example:
Adhoc
$ansible –i hosts.yml dbservers -m service -a "name=mysqld state=started"
$ansible –i hosts.yml webservers -m command -a "/sbin/reboot -t now"
Playbooks
- name: reboot the servers
command: /sbin/reboot -t now
For more: http://docs.ansible.com/modules.html
© 2015 Pythian Confidential13
Configuration- IV (cntd)
• MySQL Modules
– mysql_db  Add remove databases to remote hosts
– mysql_replication  Manage MySQL replication
– mysql_user  MySQL user management
– mysql_variables  Manage global variables
• Others Modules
– Mongodb, postgresql
– Package managers (yum, apt)
– Service
– File
– Template
For more: http://docs.ansible.com/list_of_database_modules.html#mysql
© 2015 Pythian Confidential14
Best practices – Ansible Vault
• ansible-vault
– Key management (aes256 encryption)
• Create new encrypted vault
$ ansible-vault create system.yml
• Editing encrypted key
$ ansible-vault edit system.yml
• Rekeying
$ ansible-vault rekey system.yml
• Encrypt unencrypted files
$ ansible-vault encrypt system.yml
• Decrypt encrypted files
$ ansible-vault decrypt system.yml
• Viewing decrypted files
$ ansible-vault view system.yml
• Playbook integration
$ ansible-playbook -i clusters/test setup.yml --ask-vault-pass
• File integration
$ ansible-playbook -i clusters/test setup.yml --vault-password-file ~/.vault_pass.txt
For more: https://docs.ansible.com/playbooks_vault.html
© 2015 Pythian Confidential15
Best practices – Templates
• Use of templates
# MHA cluster configuration
# generated by Ansible, do not modify by hand.
# config for cluster: {{cluster_id}}
[server default]
user={{my_mha_user}}
password={{my_mha_pass}}
repl_user={{my_repl_user}}
repl_password={{my_repl_pass}}
ssh_user=root
manager_workdir=/var/log/masterha/{{cluster_id}}
remote_workdir=/var/log/masterha/{{cluster_id}}
...
#my.cnf
innodb_buffer_pool_size = {{ (ansible_memtotal_mb * 70 / 100) |round|int }}M
…
For more: https://github.com/mszel-pythian/ansible_mha/blob/master/roles/common/templates/etc/cluster.cnf
© 2015 Pythian Confidential16
MySQL Use Cases
• Installation and deployments
• MySQL configuration management
• User management
• DB task management
– Backup and Restores
– Bootstrapping
• Database change management
• Database pool management
• Orchestration with other services
© 2015 Pythian Confidential17
Ansible Workflow
© 2015 Pythian Confidential18
© 2015 Pythian Confidential19
Demo – https://github.com/mszel-pythian/ansible_mha
• Show configuration files and sample setup
• Demonstrate launching ec2 mysql instances configuring MHA and failing
over with Ansible
– SYSTEM SETUP(common role)
• Fine tune system variables (sysctl)
• Install system packages and mha
• Create configuration files based on templates
• Create users based on public keys under files/users
– MYSQL PART(mysql role)
• Install mysql binaries
• Create my.cnf based on template (exception handling)
• Install mysql users (replica,system users, monitor app users), remove
passwordless users
• Build slave automatically with xtrabackup streaming
© 2015 Pythian Confidential20
Demo – (cntd)
roles/common/tasks/common_mha.yml
- yum: name=/root/mha4mysql-manager-0.56-0.el6.noarch.rpm state=present
when: "mysql_role == 'mha_manager'”
TASK: [common | yum name=/root/mha4mysql-manager-0.56-0.el6.noarch.rpm state=present] ***
skipping: [54.163.66.141]
skipping: [54.161.225.49]
skipping: [54.166.98.113]
changed: [54.157.195.13]
[…]
roles/mysql/tasks/main.yml:
- include: mysql_slave_xtrabackup.yml
when: "bootstrap_enabled and mysql_role != 'master'"
tags: slave
TASK: [mysql | Streaming the backup from {{ backup_src }} to {{ inventory_hostname }}] ***
skipping: [54.161.225.49]
changed: [54.166.98.113]
changed: [54.163.66.141]
Credits – Q & A
• Derek Downey @derek_downey Principal Consultant, Pythian
• Rick Pizzi DBA, Bravofly
• Narcis Pillao Devops, eDreams
• Contact us:
– Alkin Tezuysal : @ask_dba, tr.linkedin.com/in/askdba/en
– Mukka Szel : @42mukka, hu.linkedin.com/in/miklosszel/en
© 2015 Pythian Confidential22
ABOUT PYTHIAN
• 200+ leading brands trust us to keep their systems fast,
relaible, and secure
• Elite DBA & SysAdmin workforce: 7 Oracle ACEs, 2 Oracle
ACE Directors, 5 Microsoft MVPs, 1 Cloudera Champion of
Big Data, 1 Datastax Platinum Administrator — More than any
other company, regardless of head count
• Oracle, Microsoft, MySQL, Hadoop, Cassandra, MongoDB,
and more.
• Infrastructure, Cloud, SRE, DevOps, and application expertise
• Big data practice includes architects, R&D, data scientists,
and operations capabilities
• Zero lock-in, utility billing model, easily blended into existing
teams.
10,000Pythian currently manages more than 10,000
systems.
350Pythian currently employs more than 350
people in 25 countries worldwide.
1997Pythian was founded in 1997
Ad

More Related Content

What's hot (20)

Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deployment
Karthik .P.R
 
Highly Available MySQL/PHP Applications with mysqlnd
Highly Available MySQL/PHP Applications with mysqlndHighly Available MySQL/PHP Applications with mysqlnd
Highly Available MySQL/PHP Applications with mysqlnd
Jervin Real
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High Availability
Colin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
Colin Charles
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Alkin Tezuysal
 
Mysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Mysql 8 vs Mariadb 10.4 Webinar 2020 FebMysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Mysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Alkin Tezuysal
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
Alkin Tezuysal
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
Sakari Keskitalo
 
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud InfrastructureSCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
Matt Ray
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
Morgan Tocker
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
Ben Mildren
 
Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2
Marcus Deglos
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltStack
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
Morgan Tocker
 
MySQL NoSQL APIs
MySQL NoSQL APIsMySQL NoSQL APIs
MySQL NoSQL APIs
Morgan Tocker
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
Morgan Tocker
 
MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016
Dave Stokes
 
Easy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingEasy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and Troubleshooting
Bob Burgess
 
Ansible for large scale deployment
Ansible for large scale deploymentAnsible for large scale deployment
Ansible for large scale deployment
Karthik .P.R
 
Highly Available MySQL/PHP Applications with mysqlnd
Highly Available MySQL/PHP Applications with mysqlndHighly Available MySQL/PHP Applications with mysqlnd
Highly Available MySQL/PHP Applications with mysqlnd
Jervin Real
 
What's New in MySQL 5.7
What's New in MySQL 5.7What's New in MySQL 5.7
What's New in MySQL 5.7
Olivier DASINI
 
Best practices for MySQL High Availability
Best practices for MySQL High AvailabilityBest practices for MySQL High Availability
Best practices for MySQL High Availability
Colin Charles
 
Distributions from the view a package
Distributions from the view a packageDistributions from the view a package
Distributions from the view a package
Colin Charles
 
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Enterprise & MariaDB Enterprise Cluster - MariaDB Webinar July 2014
MariaDB Corporation
 
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019Mysql 8 vs Mariadb 10.4 Highload++ 2019
Mysql 8 vs Mariadb 10.4 Highload++ 2019
Alkin Tezuysal
 
Mysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Mysql 8 vs Mariadb 10.4 Webinar 2020 FebMysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Mysql 8 vs Mariadb 10.4 Webinar 2020 Feb
Alkin Tezuysal
 
How to upgrade like a boss to MySQL 8.0 - PLE19
How to upgrade like a boss to MySQL 8.0 -  PLE19How to upgrade like a boss to MySQL 8.0 -  PLE19
How to upgrade like a boss to MySQL 8.0 - PLE19
Alkin Tezuysal
 
Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016Codership's galera cluster installation and quickstart webinar march 2016
Codership's galera cluster installation and quickstart webinar march 2016
Sakari Keskitalo
 
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud InfrastructureSCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
SCALE12X Build a Cloud Day: Chef: The Swiss Army Knife of Cloud Infrastructure
Matt Ray
 
MySQL Performance Metrics that Matter
MySQL Performance Metrics that MatterMySQL Performance Metrics that Matter
MySQL Performance Metrics that Matter
Morgan Tocker
 
Replication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party ExtinctionReplication features, technologies and 3rd party Extinction
Replication features, technologies and 3rd party Extinction
Ben Mildren
 
Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2Drupal, varnish, esi - Toulouse November 2
Drupal, varnish, esi - Toulouse November 2
Marcus Deglos
 
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStackSaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltConf14 - Oz Akan, Rackspace - Deploying OpenStack Marconi with SaltStack
SaltStack
 
Using MySQL in Automated Testing
Using MySQL in Automated TestingUsing MySQL in Automated Testing
Using MySQL in Automated Testing
Morgan Tocker
 
MySQL Cloud Service Deep Dive
MySQL Cloud Service Deep DiveMySQL Cloud Service Deep Dive
MySQL Cloud Service Deep Dive
Morgan Tocker
 
MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016MySQL Replication Overview -- PHPTek 2016
MySQL Replication Overview -- PHPTek 2016
Dave Stokes
 
Easy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and TroubleshootingEasy MySQL Replication Setup and Troubleshooting
Easy MySQL Replication Setup and Troubleshooting
Bob Burgess
 

Viewers also liked (17)

Proxysql use case scenarios plam 2016
Proxysql use case scenarios    plam 2016Proxysql use case scenarios    plam 2016
Proxysql use case scenarios plam 2016
Alkin Tezuysal
 
Devops with ansible
Devops with ansibleDevops with ansible
Devops with ansible
Edwin Cruz
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynote
Marco Tusa
 
ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016
Derek Downey
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes
Pedro Gomes
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Technet France
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
Derek Downey
 
OpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégieOpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégie
Savoir-faire Linux
 
OASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle ManagementOASIS TOSCA: Cloud Portability and Lifecycle Management
OASIS TOSCA: Cloud Portability and Lifecycle Management
Cloud Standards Customer Council
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Pedro Gomes
 
Performance schema and sys schema
Performance schema and sys schemaPerformance schema and sys schema
Performance schema and sys schema
Mark Leith
 
MySQL sys schema deep dive
MySQL sys schema deep diveMySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
Mark Leith
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
Alkin Tezuysal
 
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewTOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
OpenTOSCA
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performance
oysteing
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCA
Cloud Native Day Tel Aviv
 
Proxysql use case scenarios plam 2016
Proxysql use case scenarios    plam 2016Proxysql use case scenarios    plam 2016
Proxysql use case scenarios plam 2016
Alkin Tezuysal
 
Devops with ansible
Devops with ansibleDevops with ansible
Devops with ansible
Edwin Cruz
 
Proxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynoteProxysql ha plam_2016_2_keynote
Proxysql ha plam_2016_2_keynote
Marco Tusa
 
ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016
Derek Downey
 
SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes SLQ vs NOSQL - friends or foes
SLQ vs NOSQL - friends or foes
Pedro Gomes
 
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Azure : DevOps pour le Cloud... et réciproquement…
Microsoft Technet France
 
Using Vault to decouple MySQL Secrets
Using Vault to decouple MySQL SecretsUsing Vault to decouple MySQL Secrets
Using Vault to decouple MySQL Secrets
Derek Downey
 
OpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégieOpenStack 2014 - Entre projet et stratégie
OpenStack 2014 - Entre projet et stratégie
Savoir-faire Linux
 
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication SetupsMix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Mix ‘n’ Match Async and Group Replication for Advanced Replication Setups
Pedro Gomes
 
Performance schema and sys schema
Performance schema and sys schemaPerformance schema and sys schema
Performance schema and sys schema
Mark Leith
 
MySQL sys schema deep dive
MySQL sys schema deep diveMySQL sys schema deep dive
MySQL sys schema deep dive
Mark Leith
 
Instrumenting plugins for Performance Schema
Instrumenting plugins for Performance SchemaInstrumenting plugins for Performance Schema
Instrumenting plugins for Performance Schema
Mark Leith
 
Proxysql use case scenarios fosdem17
Proxysql use case scenarios    fosdem17Proxysql use case scenarios    fosdem17
Proxysql use case scenarios fosdem17
Alkin Tezuysal
 
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem OverviewTOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
TOSCA and OpenTOSCA: TOSCA Introduction and OpenTOSCA Ecosystem Overview
OpenTOSCA
 
Using Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query PerformanceUsing Optimizer Hints to Improve MySQL Query Performance
Using Optimizer Hints to Improve MySQL Query Performance
oysteing
 
Template Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCATemplate Languages for OpenStack - Heat and TOSCA
Template Languages for OpenStack - Heat and TOSCA
Cloud Native Day Tel Aviv
 
Ad

Similar to Ansible MySQL MHA (20)

IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed
 
Automating with Ansible
Automating with AnsibleAutomating with Ansible
Automating with Ansible
Ricardo Schmidt
 
Ansible new paradigms for orchestration
Ansible new paradigms for orchestrationAnsible new paradigms for orchestration
Ansible new paradigms for orchestration
Paolo Tonin
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack
 
Ansible_Basics_ppt.pdf
Ansible_Basics_ppt.pdfAnsible_Basics_ppt.pdf
Ansible_Basics_ppt.pdf
PrabhjotSingh976002
 
Mysql ppt
Mysql pptMysql ppt
Mysql ppt
Sanmuga Nathan
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
M Malai
 
Ansible is Our Wishbone
Ansible is Our WishboneAnsible is Our Wishbone
Ansible is Our Wishbone
Mydbops
 
SESSION Ansible how to deploy and push resources
SESSION Ansible how to deploy and push resourcesSESSION Ansible how to deploy and push resources
SESSION Ansible how to deploy and push resources
Saravanan68713
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
Khizer Naeem
 
Webinar: Automate IBM Connections Installations and more
Webinar: Automate IBM Connections Installations and moreWebinar: Automate IBM Connections Installations and more
Webinar: Automate IBM Connections Installations and more
panagenda
 
Ansible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL MeetupAnsible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL Meetup
Jeff Geerling
 
ansible why ?
ansible why ?ansible why ?
ansible why ?
Yashar Esmaildokht
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
Rachel Andrew
 
Architecting cloud
Architecting cloudArchitecting cloud
Architecting cloud
Tahsin Hasan
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Mark Leith
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
inovex GmbH
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + Puppet
Omar Reygaert
 
PLNOG Automation@Brainly
PLNOG Automation@BrainlyPLNOG Automation@Brainly
PLNOG Automation@Brainly
vespian_256
 
IT Automation with Ansible
IT Automation with AnsibleIT Automation with Ansible
IT Automation with Ansible
Rayed Alrashed
 
Ansible new paradigms for orchestration
Ansible new paradigms for orchestrationAnsible new paradigms for orchestration
Ansible new paradigms for orchestration
Paolo Tonin
 
Introduction to Ansible
Introduction to AnsibleIntroduction to Ansible
Introduction to Ansible
CoreStack
 
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
Ansible is Our Wishbone(Automate DBA Tasks With Ansible)
M Malai
 
Ansible is Our Wishbone
Ansible is Our WishboneAnsible is Our Wishbone
Ansible is Our Wishbone
Mydbops
 
SESSION Ansible how to deploy and push resources
SESSION Ansible how to deploy and push resourcesSESSION Ansible how to deploy and push resources
SESSION Ansible how to deploy and push resources
Saravanan68713
 
Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015Ansible is the simplest way to automate. MoldCamp, 2015
Ansible is the simplest way to automate. MoldCamp, 2015
Alex S
 
Automation with ansible
Automation with ansibleAutomation with ansible
Automation with ansible
Khizer Naeem
 
Webinar: Automate IBM Connections Installations and more
Webinar: Automate IBM Connections Installations and moreWebinar: Automate IBM Connections Installations and more
Webinar: Automate IBM Connections Installations and more
panagenda
 
Ansible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL MeetupAnsible 101 - Presentation at Ansible STL Meetup
Ansible 101 - Presentation at Ansible STL Meetup
Jeff Geerling
 
Using Puppet in Small Infrastructures
Using Puppet in Small InfrastructuresUsing Puppet in Small Infrastructures
Using Puppet in Small Infrastructures
Rachel Andrew
 
Architecting cloud
Architecting cloudArchitecting cloud
Architecting cloud
Tahsin Hasan
 
MySQL for Oracle DBAs
MySQL for Oracle DBAsMySQL for Oracle DBAs
MySQL for Oracle DBAs
Mark Leith
 
OpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, tooOpenNebula, the foreman and CentOS play nice, too
OpenNebula, the foreman and CentOS play nice, too
inovex GmbH
 
Virtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + PuppetVirtualization and automation of library software/machines + Puppet
Virtualization and automation of library software/machines + Puppet
Omar Reygaert
 
PLNOG Automation@Brainly
PLNOG Automation@BrainlyPLNOG Automation@Brainly
PLNOG Automation@Brainly
vespian_256
 
Ad

More from Alkin Tezuysal (20)

Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdfUnified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Alkin Tezuysal
 
Boosting MySQL with Vector Search Scale22X 2025.pdf
Boosting MySQL with Vector Search Scale22X 2025.pdfBoosting MySQL with Vector Search Scale22X 2025.pdf
Boosting MySQL with Vector Search Scale22X 2025.pdf
Alkin Tezuysal
 
Boosting MySQL with Vector Search Fosdem 2025.pdf
Boosting MySQL with Vector Search Fosdem 2025.pdfBoosting MySQL with Vector Search Fosdem 2025.pdf
Boosting MySQL with Vector Search Fosdem 2025.pdf
Alkin Tezuysal
 
London MySQL Day - Lightning Talk Dec 2024.pdf
London MySQL Day - Lightning Talk Dec 2024.pdfLondon MySQL Day - Lightning Talk Dec 2024.pdf
London MySQL Day - Lightning Talk Dec 2024.pdf
Alkin Tezuysal
 
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Alkin Tezuysal
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Alkin Tezuysal
 
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdfFOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
Alkin Tezuysal
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
How OLTP to OLAP Archival Demystified
How OLTP to OLAP Archival DemystifiedHow OLTP to OLAP Archival Demystified
How OLTP to OLAP Archival Demystified
Alkin Tezuysal
 
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
Alkin Tezuysal
 
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdfMy first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Alkin Tezuysal
 
KubeCon_NA_2021
KubeCon_NA_2021KubeCon_NA_2021
KubeCon_NA_2021
Alkin Tezuysal
 
Integrating best of breed open source tools to vitess orchestrator pleu21
Integrating best of breed open source tools to vitess  orchestrator   pleu21Integrating best of breed open source tools to vitess  orchestrator   pleu21
Integrating best of breed open source tools to vitess orchestrator pleu21
Alkin Tezuysal
 
Vitess: Scalable Database Architecture - Kubernetes Community Days Africa Ap...
Vitess: Scalable Database Architecture -  Kubernetes Community Days Africa Ap...Vitess: Scalable Database Architecture -  Kubernetes Community Days Africa Ap...
Vitess: Scalable Database Architecture - Kubernetes Community Days Africa Ap...
Alkin Tezuysal
 
How to shard MariaDB like a pro - FOSDEM 2021
How to shard MariaDB like a pro  - FOSDEM 2021How to shard MariaDB like a pro  - FOSDEM 2021
How to shard MariaDB like a pro - FOSDEM 2021
Alkin Tezuysal
 
Vitess - Data on Kubernetes
Vitess -  Data on Kubernetes  Vitess -  Data on Kubernetes
Vitess - Data on Kubernetes
Alkin Tezuysal
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Introduction to Vitess on Kubernetes for MySQL - Webinar
Introduction to Vitess on Kubernetes for MySQL -  WebinarIntroduction to Vitess on Kubernetes for MySQL -  Webinar
Introduction to Vitess on Kubernetes for MySQL - Webinar
Alkin Tezuysal
 
When is Myrocks good? 2020 Webinar Series
When is Myrocks good? 2020 Webinar SeriesWhen is Myrocks good? 2020 Webinar Series
When is Myrocks good? 2020 Webinar Series
Alkin Tezuysal
 
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdfUnified Observability - Alkin Tezuysal - FOSSASIA Summit  March 2025 .pdf
Unified Observability - Alkin Tezuysal - FOSSASIA Summit March 2025 .pdf
Alkin Tezuysal
 
Boosting MySQL with Vector Search Scale22X 2025.pdf
Boosting MySQL with Vector Search Scale22X 2025.pdfBoosting MySQL with Vector Search Scale22X 2025.pdf
Boosting MySQL with Vector Search Scale22X 2025.pdf
Alkin Tezuysal
 
Boosting MySQL with Vector Search Fosdem 2025.pdf
Boosting MySQL with Vector Search Fosdem 2025.pdfBoosting MySQL with Vector Search Fosdem 2025.pdf
Boosting MySQL with Vector Search Fosdem 2025.pdf
Alkin Tezuysal
 
London MySQL Day - Lightning Talk Dec 2024.pdf
London MySQL Day - Lightning Talk Dec 2024.pdfLondon MySQL Day - Lightning Talk Dec 2024.pdf
London MySQL Day - Lightning Talk Dec 2024.pdf
Alkin Tezuysal
 
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Design and Modeling with MySQL and PostgreSQL - Percona University Istanbul S...
Alkin Tezuysal
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Alkin Tezuysal
 
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Design and Modeling for MySQL SCALE 21X Pasadena, CA Mar 2024
Alkin Tezuysal
 
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdfFOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
FOSSASIA - MySQL Cookbook 4e Journey APR 2023.pdf
Alkin Tezuysal
 
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdfMySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
MySQL Ecosystem in 2023 - FOSSASIA'23 - Alkin.pptx.pdf
Alkin Tezuysal
 
How OLTP to OLAP Archival Demystified
How OLTP to OLAP Archival DemystifiedHow OLTP to OLAP Archival Demystified
How OLTP to OLAP Archival Demystified
Alkin Tezuysal
 
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
MySQL Cookbook: Recipes for Developers, Alkin Tezuysal and Sveta Smirnova - P...
Alkin Tezuysal
 
My first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdfMy first 90 days with ClickHouse.pdf
My first 90 days with ClickHouse.pdf
Alkin Tezuysal
 
Integrating best of breed open source tools to vitess orchestrator pleu21
Integrating best of breed open source tools to vitess  orchestrator   pleu21Integrating best of breed open source tools to vitess  orchestrator   pleu21
Integrating best of breed open source tools to vitess orchestrator pleu21
Alkin Tezuysal
 
Vitess: Scalable Database Architecture - Kubernetes Community Days Africa Ap...
Vitess: Scalable Database Architecture -  Kubernetes Community Days Africa Ap...Vitess: Scalable Database Architecture -  Kubernetes Community Days Africa Ap...
Vitess: Scalable Database Architecture - Kubernetes Community Days Africa Ap...
Alkin Tezuysal
 
How to shard MariaDB like a pro - FOSDEM 2021
How to shard MariaDB like a pro  - FOSDEM 2021How to shard MariaDB like a pro  - FOSDEM 2021
How to shard MariaDB like a pro - FOSDEM 2021
Alkin Tezuysal
 
Vitess - Data on Kubernetes
Vitess -  Data on Kubernetes  Vitess -  Data on Kubernetes
Vitess - Data on Kubernetes
Alkin Tezuysal
 
MySQL Ecosystem in 2020
MySQL Ecosystem in 2020MySQL Ecosystem in 2020
MySQL Ecosystem in 2020
Alkin Tezuysal
 
Introduction to Vitess on Kubernetes for MySQL - Webinar
Introduction to Vitess on Kubernetes for MySQL -  WebinarIntroduction to Vitess on Kubernetes for MySQL -  Webinar
Introduction to Vitess on Kubernetes for MySQL - Webinar
Alkin Tezuysal
 
When is Myrocks good? 2020 Webinar Series
When is Myrocks good? 2020 Webinar SeriesWhen is Myrocks good? 2020 Webinar Series
When is Myrocks good? 2020 Webinar Series
Alkin Tezuysal
 

Recently uploaded (20)

Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your UsersAutomation Dreamin' 2022: Sharing Some Gratitude with Your Users
Automation Dreamin' 2022: Sharing Some Gratitude with Your Users
Lynda Kane
 
Leading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael JidaelLeading AI Innovation As A Product Manager - Michael Jidael
Leading AI Innovation As A Product Manager - Michael Jidael
Michael Jidael
 
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
#AdminHour presents: Hour of Code2018 slide deck from 12/6/2018
Lynda Kane
 
Asthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdfAsthma presentación en inglés abril 2025 pdf
Asthma presentación en inglés abril 2025 pdf
VanessaRaudez
 
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptxSpecial Meetup Edition - TDX Bengaluru Meetup #52.pptx
Special Meetup Edition - TDX Bengaluru Meetup #52.pptx
shyamraj55
 
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdfThe Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
The Evolution of Meme Coins A New Era for Digital Currency ppt.pdf
Abi john
 
Salesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docxSalesforce AI Associate 2 of 2 Certification.docx
Salesforce AI Associate 2 of 2 Certification.docx
José Enrique López Rivera
 
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes Partner Innovation Updates for May 2025
ThousandEyes
 
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager APIUiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPath Community Berlin: Orchestrator API, Swagger, and Test Manager API
UiPathCommunity
 
Learn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step GuideLearn the Basics of Agile Development: Your Step-by-Step Guide
Learn the Basics of Agile Development: Your Step-by-Step Guide
Marcel David
 
"PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System""PHP and MySQL CRUD Operations for Student Management System"
"PHP and MySQL CRUD Operations for Student Management System"
Jainul Musani
 
Mobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi ArabiaMobile App Development Company in Saudi Arabia
Mobile App Development Company in Saudi Arabia
Steve Jonas
 
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
AI EngineHost Review: Revolutionary USA Datacenter-Based Hosting with NVIDIA ...
SOFTTECHHUB
 
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from AnywhereAutomation Hour 1/28/2022: Capture User Feedback from Anywhere
Automation Hour 1/28/2022: Capture User Feedback from Anywhere
Lynda Kane
 
Buckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug LogsBuckeye Dreamin' 2023: De-fogging Debug Logs
Buckeye Dreamin' 2023: De-fogging Debug Logs
Lynda Kane
 
How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?How Can I use the AI Hype in my Business Context?
How Can I use the AI Hype in my Business Context?
Daniel Lehner
 
Hands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordDataHands On: Create a Lightning Aura Component with force:RecordData
Hands On: Create a Lightning Aura Component with force:RecordData
Lynda Kane
 
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptxDevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
DevOpsDays Atlanta 2025 - Building 10x Development Organizations.pptx
Justin Reock
 
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc Webinar: Consumer Expectations vs Corporate Realities on Data Broker...
TrustArc
 
Electronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploitElectronic_Mail_Attacks-1-35.pdf by xploit
Electronic_Mail_Attacks-1-35.pdf by xploit
niftliyevhuseyn
 

Ansible MySQL MHA

  • 1. Utilizing Ansible to Manage a Highly Available MySQL Environment MYSQL – ANSIBLE - MHA Presented by ALKIN TEZUYSAL , MIKLOS SZEL April 14 2015
  • 2. About : Alkin Tezuysal  Currently Team Manager, Pythian  20 years experience in RDBMS world  Acted as Sr. DBA to Supervisor roles  Previously worked  ebay Intl, Supervisor  Bank of America, Sr. DBA  AT&T, Sr. DBA  How to Contact:  Email: [email protected]  Twitter: @ask_dba  Linkedin: tr.linkedin.com/in/askdba/en © 2015 Pythian Confidential2
  • 3. About : Miklos ‘Mukka’ Szel  Currently MySQL Consultant, Pythian  10+ years experience System and Database world  Acted as Sr. DBA, Sr. Ops, Developer  Previously worked Own startup ISP Walt Disney  How to Contact:  Email: [email protected]  Twitter: @42mukka  Linkedin: hu.linkedin.com/in/miklosszel/en © 2015 Pythian Confidential3
  • 4. Ansible in a Nutshell  Simple  Agentless  Easy to manage  Idempotent  100% Python  Configuration management  Uses ssh For more: http://docs.ansible.com/intro_installation.html © 2015 Pythian Confidential4
  • 5. MHA in a Nutshell  Automated Master failover  Interactive Master failover  Non-interactive Master failover  Online Master switching  Easy to configure  Open Source HA utility For more: https://code.google.com/p/mysql-master-ha/ © 2015 Pythian Confidential5
  • 6. MySQL in a Nutshell  De-facto standard for web, e-commerce and startup companies  Easy to manage and use  Why we all are here For more: http://www.oracle.com/us/products/mysql/overview/index.ht ml © 2015 Pythian Confidential6
  • 7. Back to Ansible 1) Installation 2) Configuration 3) Best practices 4) Demo on how to use with MySQL-MHA © 2015 Pythian Confidential7
  • 8. Installation - I  Verify your version of Python, install pip: $ sudo easy_install pip  Add Python modules: $ sudo pip install paramiko PyYAML Jinja2 httplib2  Install Ansible via pip : $ sudo pip install ansible  Install Ansible via yum: # install the epel-release RPM if needed on CentOS, RHEL, or Scientific Linux $ sudo yum install ansible  On OSX : $ brew install ansible For more: http://docs.ansible.com/intro_installation.html © 2015 Pythian Confidential8
  • 9. Installation - II  Set hosts to test: $ echo "127.0.0.1" > ~/ansible_hosts $ export ANSIBLE_HOSTS=~/ansible_hosts  Test your installation: $ ansible all -m ping --ask-pass SSH password: 127.0.0.1 | success >> { "changed": false, "ping": "pong" } © 2015 Pythian Confidential9
  • 10. Configuration- I  Setup Config file: – ANSIBLE_CONFIG (an environment variable) – ansible.cfg (in the current directory) – ansible.cfg (in the home directory) – /etc/ansible/ansible.cfg For more: http://docs.ansible.com/intro_configuration.html © 2015 Pythian Confidential10
  • 11. Configuration- II • Inventory file : Define hosts and groups • Default file : /etc/ansible/hosts [databases] 54.167.36.187 mysql_role=master server_id=1 23.22.187.189 mysql_role=slave server_id=2 backup_src=54.167.36.187 54.87.24.162 mysql_role=slave server_id=3 backup_src=54.167.36.187 [system] 54.167.36.187 mycnf=plsc_s1 mysql_role=master nickname=dev-plsc-m 23.22.187.189 mycnf=plsc_s2 mysql_role=slave nickname=dev-plsc-s1 54.87.24.162 mysql_role=slave nickname=dev-plsc-s2ample: • Dynamic Inventory : – AWS EC2 External Inventory Script (ec2.py) # ansible-playbook -i "localhost," ansible/playbooks/launch_ec2.yml # /ec2.py --list For more: http://docs.ansible.com/intro_inventory.html , http://docs.ansible.com/intro_dynamic_inventory.html#example-aws-ec2-external-inventory-script © 2015 Pythian Confidential11
  • 12. Configuration- III • Playbooks – YAML format – One or more “plays” in a list – Executes tasks – Supports hosts – Supports roles – Supports tags – Supports groups – Supports remote_user – Provides idempotent runs against host groups – Uses ansible modules Example: $ ansible-playbook playbook.yml --list-hosts $ ansible-playbook playbook.yml --list-tasks $ ansible-playbook playbook.yml -f 10 $ ansible-playbook playbook.yml --tags=setup,configure --list-tasks $ ansible-playbook playbook.yml --tags=always,setup,configure --list-tasks For more: http://docs.ansible.com/playbooks_intro.html © 2015 Pythian Confidential12
  • 13. Configuration- IV • Ansible built-in modules – Providing robust functions – Runtime or via playbook – Can be customized or developed Example: Adhoc $ansible –i hosts.yml dbservers -m service -a "name=mysqld state=started" $ansible –i hosts.yml webservers -m command -a "/sbin/reboot -t now" Playbooks - name: reboot the servers command: /sbin/reboot -t now For more: http://docs.ansible.com/modules.html © 2015 Pythian Confidential13
  • 14. Configuration- IV (cntd) • MySQL Modules – mysql_db  Add remove databases to remote hosts – mysql_replication  Manage MySQL replication – mysql_user  MySQL user management – mysql_variables  Manage global variables • Others Modules – Mongodb, postgresql – Package managers (yum, apt) – Service – File – Template For more: http://docs.ansible.com/list_of_database_modules.html#mysql © 2015 Pythian Confidential14
  • 15. Best practices – Ansible Vault • ansible-vault – Key management (aes256 encryption) • Create new encrypted vault $ ansible-vault create system.yml • Editing encrypted key $ ansible-vault edit system.yml • Rekeying $ ansible-vault rekey system.yml • Encrypt unencrypted files $ ansible-vault encrypt system.yml • Decrypt encrypted files $ ansible-vault decrypt system.yml • Viewing decrypted files $ ansible-vault view system.yml • Playbook integration $ ansible-playbook -i clusters/test setup.yml --ask-vault-pass • File integration $ ansible-playbook -i clusters/test setup.yml --vault-password-file ~/.vault_pass.txt For more: https://docs.ansible.com/playbooks_vault.html © 2015 Pythian Confidential15
  • 16. Best practices – Templates • Use of templates # MHA cluster configuration # generated by Ansible, do not modify by hand. # config for cluster: {{cluster_id}} [server default] user={{my_mha_user}} password={{my_mha_pass}} repl_user={{my_repl_user}} repl_password={{my_repl_pass}} ssh_user=root manager_workdir=/var/log/masterha/{{cluster_id}} remote_workdir=/var/log/masterha/{{cluster_id}} ... #my.cnf innodb_buffer_pool_size = {{ (ansible_memtotal_mb * 70 / 100) |round|int }}M … For more: https://github.com/mszel-pythian/ansible_mha/blob/master/roles/common/templates/etc/cluster.cnf © 2015 Pythian Confidential16
  • 17. MySQL Use Cases • Installation and deployments • MySQL configuration management • User management • DB task management – Backup and Restores – Bootstrapping • Database change management • Database pool management • Orchestration with other services © 2015 Pythian Confidential17
  • 18. Ansible Workflow © 2015 Pythian Confidential18
  • 19. © 2015 Pythian Confidential19
  • 20. Demo – https://github.com/mszel-pythian/ansible_mha • Show configuration files and sample setup • Demonstrate launching ec2 mysql instances configuring MHA and failing over with Ansible – SYSTEM SETUP(common role) • Fine tune system variables (sysctl) • Install system packages and mha • Create configuration files based on templates • Create users based on public keys under files/users – MYSQL PART(mysql role) • Install mysql binaries • Create my.cnf based on template (exception handling) • Install mysql users (replica,system users, monitor app users), remove passwordless users • Build slave automatically with xtrabackup streaming © 2015 Pythian Confidential20
  • 21. Demo – (cntd) roles/common/tasks/common_mha.yml - yum: name=/root/mha4mysql-manager-0.56-0.el6.noarch.rpm state=present when: "mysql_role == 'mha_manager'” TASK: [common | yum name=/root/mha4mysql-manager-0.56-0.el6.noarch.rpm state=present] *** skipping: [54.163.66.141] skipping: [54.161.225.49] skipping: [54.166.98.113] changed: [54.157.195.13] […] roles/mysql/tasks/main.yml: - include: mysql_slave_xtrabackup.yml when: "bootstrap_enabled and mysql_role != 'master'" tags: slave TASK: [mysql | Streaming the backup from {{ backup_src }} to {{ inventory_hostname }}] *** skipping: [54.161.225.49] changed: [54.166.98.113] changed: [54.163.66.141]
  • 22. Credits – Q & A • Derek Downey @derek_downey Principal Consultant, Pythian • Rick Pizzi DBA, Bravofly • Narcis Pillao Devops, eDreams • Contact us: – Alkin Tezuysal : @ask_dba, tr.linkedin.com/in/askdba/en – Mukka Szel : @42mukka, hu.linkedin.com/in/miklosszel/en © 2015 Pythian Confidential22
  • 23. ABOUT PYTHIAN • 200+ leading brands trust us to keep their systems fast, relaible, and secure • Elite DBA & SysAdmin workforce: 7 Oracle ACEs, 2 Oracle ACE Directors, 5 Microsoft MVPs, 1 Cloudera Champion of Big Data, 1 Datastax Platinum Administrator — More than any other company, regardless of head count • Oracle, Microsoft, MySQL, Hadoop, Cassandra, MongoDB, and more. • Infrastructure, Cloud, SRE, DevOps, and application expertise • Big data practice includes architects, R&D, data scientists, and operations capabilities • Zero lock-in, utility billing model, easily blended into existing teams. 10,000Pythian currently manages more than 10,000 systems. 350Pythian currently employs more than 350 people in 25 countries worldwide. 1997Pythian was founded in 1997