SlideShare ist ein Scribd-Unternehmen logo
1 von 15
Downloaden Sie, um offline zu lesen
INICIANDO OS TRABALHOS 
Wagner Bianchi 
Certified MySQL 5.0 Developer 
Certified MySQL 5.0 Database Administrator 
Certified MySQL 5.1 Cluster Database Administrator
Para iniciarmos... 
! Preparação do ambiente de bancos de dados: 
– Criar máquinas virtuais com o Vagrant 
• O que é o Vagrant? 
• Quais são as características do Vagrant? 
• Por utilizamos e quais as vantagens do Vagrant? 
• Subindo um novo projeto com o Vagrant! 
– Configurando o servidor de bancos de dados MySQL 5.6 
• Baixando o arquivo do banco de dados World; 
• Fazendo o restore da versão *InnoDB do db World; 
• Trabalhando uma instalação segura do MySQL 5.6; 
– Instalando software adicionais (repositório EPEL) 
• Iptraf, innotop, htop, ...
O que é o Vagrant? 
! O Vagrant é um software de virtualização que executa seus 
serviços com base no driver de virtualização do VirtualBox e/ 
ou VMWare; 
! É baseado em script escritos em Ruby e permite obter 
máquinas virtuais com as mesmas características de 
servidores de produção; 
! Basta instalar o Vagrant, adicionar um box, adicionar 
características da VM a um arquivo de configuração e subir a 
máquina com um comando “vagrant up”...
Vantagens de se utilizar o Vagrant... 
! Podemos subir máquinas virtuais a partir de um script que: 
– Podemos manter todos os projetos de VMs em projetos; 
– Adiciona as mesma características de máquinas de produção; 
– Fácil de controlar se status com comandos up | suspend | halt; 
– Interage com o mesmo hypervisor do VirtualBox; 
– Conta com uma lista online dos principais SOs; 
! A sequência é: 
– Adicione o box que está disponível em uma URL (file | http); 
– Crie o projeto e dentro desse projeto: vagrant init 
– Edite o arquivo de configuração Vagrantfile; 
– Envie o comando vagrant up ...
Subindo um novo projeto com o Vagrant! 
! Verificamos os boxes disponíveis no Vagrant 
# vagrant box list! 
! Criarmos um novo projeto e enviamos um vagrant init 
# mkdir /opt/mysql56! 
# cd /opt/mysql56! 
# vagrant init! 
! O comando vagrant init criará um arquivo de configuração 
chamado Vagrantfile o qual editaremos para que nossa 
máquina virtual tenha as características que precisamos;
Subindo um novo projeto com o Vagrant! 
Vagrantfile – arquivo de configuração das VMs de nosso projeto... 
# -*- mode: ruby -*-! 
# vi: set ft=ruby :! 
! 
VAGRANTFILE_API_VERSION = "2"! 
! 
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|! 
config.vm.provision "shell", path: "setup_env.sh"! 
config.vm.define "mysql01" do |mysql01|! 
mysql01.vm.box = "centos65-x86_64"! 
mysql01.vm.network "public_network" ! 
mysql01.vm.network :forwarded_port, guest: 22, host: 1433! 
end! 
end!
Subindo um novo projeto com o Vagrant! 
! Adicionamos um script para ser executado em meio a 
instalação da máquina virtual – o Vagrant roda esse script; 
#!/bin/bash! 
sudo yum -y install wget vim! 
sudo rpm -Uvi https://dev.mysql.com/get/mysql-community-release- 
el6-5.noarch.rpm! 
sudo yum-config-manager --enable mysql56-community! 
sudo yum -y install mysql-server! 
sudo service mysqld start! 
! Agora basta subir a máquina: vagrant up! 
! Observe os logs no terminal...
Máquina Virtual pronta! 
! Após subir a máquina virtual com o Vagrant: 
– O encaminhamento já foi criado, portas configuradas; 
– O acesso via ssh com criptografia de chaves também criado; 
– Já podemos acessar a máquina com um simples: 
# vagrant ssh mysql56! 
! Algumas configurações demandadas: 
– Verificar o status do MySQL; 
– Alterar o nome do servidor Linux para mysql56; 
– Reiniciar a máquina virtual através do Vagrant.
Máquina Virtual pronta! 
! Acessando a máquina recém criada: 
# vagrant ssh mysql56! 
! Alterando o nome da máquina recém criada: 
# sudo -i! 
# vi /etc/sysconfig/network! 
HOSTNAME=mysql56! 
# exit! 
# exit! 
! Reiniciando a máquina pelo Vagrant: 
# vagrant halt mysql56! 
==> mysql56: Attempting graceful shutdown of VM...! 
# vagrant up mysql56!
Verificando o MySQL 5.6 
! Ao instalar o MySQL 5.6, o próximo passo é executar os 
procedimentos que vão garantir a segurança dos bancos; 
# vagrant ssh mysql56! 
Last login: Sun Aug 31 14:49:59 2014 from 10.0.2.2! 
[vagrant@mysql56 ~]$ sudo -i! 
[root@mysql56 ~]# mysql_secure_instalation ! 
! Agora o root tem uma senha e é com esta senha (123456) 
que trabalharemos daqui para frente;
Baixando o instalando o db World! 
! Na linha de comando, no diretório /root, faça o download do 
arquivo do banco de dados World: 
[root@mysql56 ~]# wget 
http://downloads.mysql.com/docs/world_innodb.sql.zip! 
[...]! 
[root@mysql56 ~]# ls -lh! 
total 92K! 
-rw-r--r-- 1 root root 90K Aug 31 14:28 
world_innodb.sql.zip! 
[root@mysql56 ~]# unzip world_innodb.sql.zip! 
Archive: world_innodb.sql.zip! 
inflating: world_innodb.sql! 
!
Baixando o instalando o db World! 
! Fazendo restore com o mysql client: 
#: criamos um banco de dados! 
[root@mysql56 ~]# mysql -u root -p -e "create database 
world"! 
Enter password:! 
! 
#: fazemos o restore do banco através do arquivo! 
[root@mysql56 ~]# time mysql -u root -p world < 
world_innodb.sql! 
Enter password:! 
! 
real !0m25.820s! 
user !0m0.322s! 
sys !0m0.252s!
FIM

Weitere ähnliche Inhalte

Was ist angesagt?

Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbThiago Santos
 
Hands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantHands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantIngo Jauch
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoThiago Paes
 
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações WebRecursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações WebRégis Eduardo Weizenmann Gregol
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsGDGFoz
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debianEduardo Mendes
 
Sistemas operacional 9
Sistemas operacional 9Sistemas operacional 9
Sistemas operacional 9Nauber Gois
 
From Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiFrom Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiiMasters
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Jeronimo Zucco
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o NodejsCaio Cutrim
 
Percona XtraBackup
Percona XtraBackupPercona XtraBackup
Percona XtraBackupWebgoal
 

Was ist angesagt? (20)

Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
Temperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper UsbTemperatura Zabbix Procedimento Temper Usb
Temperatura Zabbix Procedimento Temper Usb
 
Hands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs VagrantHands on para (web)Developers Docker vs Vagrant
Hands on para (web)Developers Docker vs Vagrant
 
Tom cat e eclipse
Tom cat e eclipseTom cat e eclipse
Tom cat e eclipse
 
Php WatchDog
Php WatchDogPhp WatchDog
Php WatchDog
 
Yaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensãoYaf - Um framework que roda sob uma extensão
Yaf - Um framework que roda sob uma extensão
 
Python async
Python asyncPython async
Python async
 
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações WebRecursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
Recursos de Escalabilidade e Alta Disponibilidade Para Aplicações Web
 
Zabbix livro para ubuntu
Zabbix livro para ubuntuZabbix livro para ubuntu
Zabbix livro para ubuntu
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOps
 
Instalação de um servidor debian
Instalação de um servidor debianInstalação de um servidor debian
Instalação de um servidor debian
 
Sistemas operacional 9
Sistemas operacional 9Sistemas operacional 9
Sistemas operacional 9
 
From Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika HeidiFrom Development to Production: Vagrant and Ansible, por Erika Heidi
From Development to Production: Vagrant and Ansible, por Erika Heidi
 
Apache
ApacheApache
Apache
 
Node JS - Parte 3
Node JS - Parte 3Node JS - Parte 3
Node JS - Parte 3
 
Node JS - Parte 4
Node JS - Parte 4Node JS - Parte 4
Node JS - Parte 4
 
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
Detectando e Respondendo Incidentes de Segurança em Frontends Nginx utilizand...
 
Conhecendo o Nodejs
Conhecendo o NodejsConhecendo o Nodejs
Conhecendo o Nodejs
 
Foreman como provisionador
Foreman como provisionadorForeman como provisionador
Foreman como provisionador
 
Percona XtraBackup
Percona XtraBackupPercona XtraBackup
Percona XtraBackup
 

Ähnlich wie Configurando ambiente MySQL 5.6 com Vagrant

Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Wellington Silva
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory gigadrop
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016Edison Costa
 
Lab python django - parte 1 - windows e vagrant
Lab python django - parte 1 - windows e vagrantLab python django - parte 1 - windows e vagrant
Lab python django - parte 1 - windows e vagrantPedro Fernandes Vieira
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVinícius Krolow
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxnetinhoteixeira
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no LinuxEduardo Rozario
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4David Ruiz
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátilWanderlei Silva do Carmo
 
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDMÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDOrlindo Saraiva
 
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em ...Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em ...
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...Tiago Butzke
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginnersRafael Chiavegatto
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteHaste Design
 
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdf
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdfCURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdf
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdfTimteoSchool
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizadosThiago Rodrigues
 

Ähnlich wie Configurando ambiente MySQL 5.6 com Vagrant (20)

Apt_vagrant_chef_olavo_queiroz
Apt_vagrant_chef_olavo_queirozApt_vagrant_chef_olavo_queiroz
Apt_vagrant_chef_olavo_queiroz
 
Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3Talk no Meetup LaravelSP #3
Talk no Meetup LaravelSP #3
 
Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory Tutorial servidor debian linux ocs invetory
Tutorial servidor debian linux ocs invetory
 
Vagrant sti
Vagrant stiVagrant sti
Vagrant sti
 
PHP Conference 2016
PHP Conference 2016PHP Conference 2016
PHP Conference 2016
 
Mysql for IBMers
Mysql for IBMersMysql for IBMers
Mysql for IBMers
 
Lab python django - parte 1 - windows e vagrant
Lab python django - parte 1 - windows e vagrantLab python django - parte 1 - windows e vagrant
Lab python django - parte 1 - windows e vagrant
 
Vagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizadoVagrant - ambiente de desenvolvimento virtualizado
Vagrant - ambiente de desenvolvimento virtualizado
 
Instalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBoxInstalação e uso do phpVirtualBox
Instalação e uso do phpVirtualBox
 
Desenvolvimento web no Linux
Desenvolvimento web no LinuxDesenvolvimento web no Linux
Desenvolvimento web no Linux
 
Vagrant + Puppet
Vagrant + PuppetVagrant + Puppet
Vagrant + Puppet
 
Containers com docker #CPRecife4
Containers com docker #CPRecife4Containers com docker #CPRecife4
Containers com docker #CPRecife4
 
Windows Azure - Maneiras de uilizar PHP
Windows Azure - Maneiras de uilizar PHPWindows Azure - Maneiras de uilizar PHP
Windows Azure - Maneiras de uilizar PHP
 
Vagrant uma ferramenta realmente útil e versátil
Vagrant   uma ferramenta realmente útil e versátilVagrant   uma ferramenta realmente útil e versátil
Vagrant uma ferramenta realmente útil e versátil
 
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUDMÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
MÓDULO I - PREPARANDO O AMBIENTE GROCERY CRUD
 
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em ...Vagrant + chef cookbooks   ambiente de desenvolvimento como o de produção em ...
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
 
Docker - Tutorial for beginners
Docker - Tutorial for beginnersDocker - Tutorial for beginners
Docker - Tutorial for beginners
 
Instalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmenteInstalando e configurando o WordPress localmente
Instalando e configurando o WordPress localmente
 
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdf
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdfCURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdf
CURSO GRÁTIS - MIKROTIK DO ZERO - AULA 1.pdf
 
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Construção e provisionamento de ambientes  de desenvolvimento virtualizadosConstrução e provisionamento de ambientes  de desenvolvimento virtualizados
Construção e provisionamento de ambientes de desenvolvimento virtualizados
 

Mehr von Wagner Bianchi

Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Wagner Bianchi
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinWagner Bianchi
 
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoMeetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoWagner Bianchi
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Wagner Bianchi
 
NY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with MaxscaleNY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with MaxscaleWagner Bianchi
 
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source ReplicationWebinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source ReplicationWagner Bianchi
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016Wagner Bianchi
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationWagner Bianchi
 
UNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - ReplicaçãoUNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - ReplicaçãoWagner Bianchi
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6Wagner Bianchi
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6Wagner Bianchi
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi
 
Introdução ao MySQL 5.6
Introdução ao MySQL 5.6Introdução ao MySQL 5.6
Introdução ao MySQL 5.6Wagner Bianchi
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLWagner Bianchi
 
MySQL Cluster Product Overview
MySQL Cluster Product OverviewMySQL Cluster Product Overview
MySQL Cluster Product OverviewWagner Bianchi
 

Mehr von Wagner Bianchi (20)

Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18Migrations from PLSQL and Transact-SQL - m18
Migrations from PLSQL and Transact-SQL - m18
 
Maxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoinMaxscale switchover, failover, and auto rejoin
Maxscale switchover, failover, and auto rejoin
 
Meetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de UsoMeetup São Paulo, Maxscale Implementação e Casos de Uso
Meetup São Paulo, Maxscale Implementação e Casos de Uso
 
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
Escalando o ambiente com MariaDB Cluster (Portuguese Edition)
 
NY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with MaxscaleNY Meetup: Scaling MariaDB with Maxscale
NY Meetup: Scaling MariaDB with Maxscale
 
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source ReplicationWebinar: MariaDB Provides the Solution to Ease Multi-Source Replication
Webinar: MariaDB Provides the Solution to Ease Multi-Source Replication
 
MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016MySQL Multi-Source Replication for PL2016
MySQL Multi-Source Replication for PL2016
 
MySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source ReplicationMySQL 5.7 Multi-Source Replication
MySQL 5.7 Multi-Source Replication
 
UNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - ReplicaçãoUNIFAL - MySQL 5.6 - Replicação
UNIFAL - MySQL 5.6 - Replicação
 
UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6UNIFAL - MySQL Logs - 5.0/5.6
UNIFAL - MySQL Logs - 5.0/5.6
 
UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6UNIFAL - MySQL Transações - 5.0/5.6
UNIFAL - MySQL Transações - 5.0/5.6
 
UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6UNIFAL - MySQL Storage Engine - 5.0/5.6
UNIFAL - MySQL Storage Engine - 5.0/5.6
 
UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6UNIFAL - MySQL Views - 5.0/5.6
UNIFAL - MySQL Views - 5.0/5.6
 
UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6UNIFAL - MySQL Triggers - 5.0/5.6
UNIFAL - MySQL Triggers - 5.0/5.6
 
UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6UNIFAL - MySQL Stored Routines - 5.0/5.6
UNIFAL - MySQL Stored Routines - 5.0/5.6
 
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
UNIFAL - MySQL Linguagem SQL Básico - 5.0/5.6
 
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
Wagner Bianchi, GUOB 2014 MySQL Cluster 7.3
 
Introdução ao MySQL 5.6
Introdução ao MySQL 5.6Introdução ao MySQL 5.6
Introdução ao MySQL 5.6
 
InnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQLInnoDB Plugin - II Fórum da Comunidade MySQL
InnoDB Plugin - II Fórum da Comunidade MySQL
 
MySQL Cluster Product Overview
MySQL Cluster Product OverviewMySQL Cluster Product Overview
MySQL Cluster Product Overview
 

Configurando ambiente MySQL 5.6 com Vagrant

  • 1. INICIANDO OS TRABALHOS Wagner Bianchi Certified MySQL 5.0 Developer Certified MySQL 5.0 Database Administrator Certified MySQL 5.1 Cluster Database Administrator
  • 2. Para iniciarmos... ! Preparação do ambiente de bancos de dados: – Criar máquinas virtuais com o Vagrant • O que é o Vagrant? • Quais são as características do Vagrant? • Por utilizamos e quais as vantagens do Vagrant? • Subindo um novo projeto com o Vagrant! – Configurando o servidor de bancos de dados MySQL 5.6 • Baixando o arquivo do banco de dados World; • Fazendo o restore da versão *InnoDB do db World; • Trabalhando uma instalação segura do MySQL 5.6; – Instalando software adicionais (repositório EPEL) • Iptraf, innotop, htop, ...
  • 3.
  • 4. O que é o Vagrant? ! O Vagrant é um software de virtualização que executa seus serviços com base no driver de virtualização do VirtualBox e/ ou VMWare; ! É baseado em script escritos em Ruby e permite obter máquinas virtuais com as mesmas características de servidores de produção; ! Basta instalar o Vagrant, adicionar um box, adicionar características da VM a um arquivo de configuração e subir a máquina com um comando “vagrant up”...
  • 5. Vantagens de se utilizar o Vagrant... ! Podemos subir máquinas virtuais a partir de um script que: – Podemos manter todos os projetos de VMs em projetos; – Adiciona as mesma características de máquinas de produção; – Fácil de controlar se status com comandos up | suspend | halt; – Interage com o mesmo hypervisor do VirtualBox; – Conta com uma lista online dos principais SOs; ! A sequência é: – Adicione o box que está disponível em uma URL (file | http); – Crie o projeto e dentro desse projeto: vagrant init – Edite o arquivo de configuração Vagrantfile; – Envie o comando vagrant up ...
  • 6. Subindo um novo projeto com o Vagrant! ! Verificamos os boxes disponíveis no Vagrant # vagrant box list! ! Criarmos um novo projeto e enviamos um vagrant init # mkdir /opt/mysql56! # cd /opt/mysql56! # vagrant init! ! O comando vagrant init criará um arquivo de configuração chamado Vagrantfile o qual editaremos para que nossa máquina virtual tenha as características que precisamos;
  • 7. Subindo um novo projeto com o Vagrant! Vagrantfile – arquivo de configuração das VMs de nosso projeto... # -*- mode: ruby -*-! # vi: set ft=ruby :! ! VAGRANTFILE_API_VERSION = "2"! ! Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|! config.vm.provision "shell", path: "setup_env.sh"! config.vm.define "mysql01" do |mysql01|! mysql01.vm.box = "centos65-x86_64"! mysql01.vm.network "public_network" ! mysql01.vm.network :forwarded_port, guest: 22, host: 1433! end! end!
  • 8. Subindo um novo projeto com o Vagrant! ! Adicionamos um script para ser executado em meio a instalação da máquina virtual – o Vagrant roda esse script; #!/bin/bash! sudo yum -y install wget vim! sudo rpm -Uvi https://dev.mysql.com/get/mysql-community-release- el6-5.noarch.rpm! sudo yum-config-manager --enable mysql56-community! sudo yum -y install mysql-server! sudo service mysqld start! ! Agora basta subir a máquina: vagrant up! ! Observe os logs no terminal...
  • 9. Máquina Virtual pronta! ! Após subir a máquina virtual com o Vagrant: – O encaminhamento já foi criado, portas configuradas; – O acesso via ssh com criptografia de chaves também criado; – Já podemos acessar a máquina com um simples: # vagrant ssh mysql56! ! Algumas configurações demandadas: – Verificar o status do MySQL; – Alterar o nome do servidor Linux para mysql56; – Reiniciar a máquina virtual através do Vagrant.
  • 10. Máquina Virtual pronta! ! Acessando a máquina recém criada: # vagrant ssh mysql56! ! Alterando o nome da máquina recém criada: # sudo -i! # vi /etc/sysconfig/network! HOSTNAME=mysql56! # exit! # exit! ! Reiniciando a máquina pelo Vagrant: # vagrant halt mysql56! ==> mysql56: Attempting graceful shutdown of VM...! # vagrant up mysql56!
  • 11.
  • 12. Verificando o MySQL 5.6 ! Ao instalar o MySQL 5.6, o próximo passo é executar os procedimentos que vão garantir a segurança dos bancos; # vagrant ssh mysql56! Last login: Sun Aug 31 14:49:59 2014 from 10.0.2.2! [vagrant@mysql56 ~]$ sudo -i! [root@mysql56 ~]# mysql_secure_instalation ! ! Agora o root tem uma senha e é com esta senha (123456) que trabalharemos daqui para frente;
  • 13. Baixando o instalando o db World! ! Na linha de comando, no diretório /root, faça o download do arquivo do banco de dados World: [root@mysql56 ~]# wget http://downloads.mysql.com/docs/world_innodb.sql.zip! [...]! [root@mysql56 ~]# ls -lh! total 92K! -rw-r--r-- 1 root root 90K Aug 31 14:28 world_innodb.sql.zip! [root@mysql56 ~]# unzip world_innodb.sql.zip! Archive: world_innodb.sql.zip! inflating: world_innodb.sql! !
  • 14. Baixando o instalando o db World! ! Fazendo restore com o mysql client: #: criamos um banco de dados! [root@mysql56 ~]# mysql -u root -p -e "create database world"! Enter password:! ! #: fazemos o restore do banco através do arquivo! [root@mysql56 ~]# time mysql -u root -p world < world_innodb.sql! Enter password:! ! real !0m25.820s! user !0m0.322s! sys !0m0.252s!
  • 15. FIM