Webinar - Setup MySQL with Puppet
-
Upload
olindata -
Category
Technology
-
view
193 -
download
3
description
Transcript of Webinar - Setup MySQL with Puppet
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Setup MySQL using Puppet
Configuration management with puppet
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Who am I?
• Krishna Prajapati, MySQL Engineer at Olindata
http://www.olindata.com/
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Overview
• What is puppet (for those not aware)?• What is MySQL?
• Puppet Module selection
• Install puppet module
• Deploying MySQL client
• Deploying MySQL Server
• MySQL Management: database, user, grants
• Questions
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
What is Puppet and why do we care?
• Configuration management software- http://www.olindata.com/blog/2014/08/puppet-master-agent-setup- http://www.olindata.com/blog/2014/09/setup-puppet-master-passenger-and-
apache-centos
• Scales very well (from 1 to 200k+ nodes)
• Multi-platform (windows, *nix, Mac OS, BSD)
• Commercially supported Open Source
• Infrastructure as code
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
What is MySQL ?
• MySQL is a relational database management system(RDBMS)
• Opensource
• Multi-platform (windows, *nix, Mac OS, BSD)
• MySQL Flavours
- Percona
- MariaDB
• Central component of the widely used LAMP
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
1. Puppet forge https://forge.puppetlabs.com/
2. Supported modules.
https://forge.puppetlabs.com/supported
3. Repositories included in Linux Distributions
Puppet Module selection?
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Install puppet module[root@master]# puppet module search mysqlNotice: Searching https://forgeapi.puppetlabs.com ...NAME DESCRIPTION AUTHOR KEYWORDS puppetlabs-mysql Mysql module @puppetlabs mysql centos rhel ubuntu
debianalkivi-mysql Control MySQL server and allow database/user creation @alkivi debian mysql
database example42-mysql Puppet module for mysql @example42
example42 mysql ...devopera-domysqldb MySQL installation and configuration module@devopera ubuntu rhel centos mysqld
mysqljlondon-surrogate Puppet module to install Surrogate, an xtrabackup script @jlondon
redhat ubuntu debian mysql[root@master]#
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Install puppet module[root@master]# puppet module install puppetlabs-mysqlNotice: Preparing to install into /etc/puppet/modules ...Notice: Downloading from https://forgeapi.puppetlabs.com ...Notice: Installing -- do not interrupt .../etc/puppet/modules└─┬ puppetlabs-mysql (v2.3.1)
└── puppetlabs-stdlib (v4.3.2)[root@master]#
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
MySQL Client
Deploying mysql client is very straight forward.
/etc/puppet/manifests/site.ppnode 'client.olindata.com' {
class { 'mysql::client': }
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
MySQL Server
Deploying mysql server is as simple as including mysql server
class.
/etc/puppet/modules/profile/manifests/mysql.pp
class profile::mysql {
class { '::mysql::server':root_password => 'strongpassword',override_options => { 'mysqld' => {
'max_connections' => '1024' } }}
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
/etc/puppet/modules/role/manifests/database.pp
class role::database {
include profile::mysql
}
/etc/puppet/manifests/site.ppnode 'client.olindata.com' {
class { 'mysql::client': }}
node 'server.olindata.com' {include role::database
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Creating mysql database
• MySQL Server alone is nothing without mysql database.
/etc/puppet/modules/profile/manifests/mysql.pp
mysql::db { 'mydb':
user => 'admin',
password => 'secret',
host => 'client.olindata.com ',
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
MySQL User• We need to configure user and grants, so we are able to
provide permissions to the state of the table.
/etc/puppet/modules/profile/manifests/mysql.pp
mysql_user { '[email protected]':
ensure => 'present',
max_connections_per_hour => '100',
max_queries_per_hour => '200',
max_updates_per_hour => '200',
max_user_connections => '80',
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
MySQL Grants• Grants are the privileges, provided to access the
database/tables
/etc/puppet/modules/profile/manifests/mysql.pp
mysql_grant { 'root@localhost/*.*':
ensure => 'present',
options => ['GRANT'],
privileges => ['ALL'],
table => '*.*',
user => 'root@localhost',
}
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
• Other mysql flavours like MariaDB, Percona can be installed with the existing module ‘puppetlabs-mysql’
/etc/puppet/modules/profile/manifests/mysql.ppclass profile::mysql {
class { '::mysql::server':
package_ensure => 'present',
package_name => 'mariadb-server',
}}
MySQL Flavour Install
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Upcoming training
• Puppet Fundamentals Training, Barcelona
Monday, November 24, 2014
• Puppet Fundamentals Training, Hyderabad
Monday, November 24, 2014
• Puppet Fundamentals Training, Pune
Monday, December 1, 2014
• Puppet Fundamentals Training, Singapore
Wednesday, December 17, 2014
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Previous Webinars
Managing files with puppet
• by our CEO Walter Heck
• Link: https://www.youtube.com/watch?v=7fjwrOGRnSc
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
We’re hiring!EU and Asia based trainers
OlinData Webinar 2014 -https://docs.google.com/presentation/d/1lstjM9TXsBBi1ESZivy1ejIaSpVVvkcOmagF
MIbMsBg/edit?usp=sharing
Questions?
@krishna / @olindata
http://www.olindata.com
http://github.com/olindata