SlideShare uma empresa Scribd logo
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, ...
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
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!
UNIFAL - MySQL & Vagrant (iniciando os trabalhos)
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

Mais conteúdo relacionado

PDF
DevOps Braga #5
PDF
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
ODP
Alta perfomance de aplicações PHP com Nginx
PPTX
Apresentação PGDAY - instalação e configuração - PostgreSQL
PDF
Container revolucao
PDF
I educar-manual-de-instalaao
PDF
Poco Bibliotecas C++
DevOps Braga #5
Monitoramento de serviços com Zabbix + Grafana + Python - Marcelo Santoto - D...
Alta perfomance de aplicações PHP com Nginx
Apresentação PGDAY - instalação e configuração - PostgreSQL
Container revolucao
I educar-manual-de-instalaao
Poco Bibliotecas C++

Mais procurados (20)

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

Semelhante a UNIFAL - MySQL & Vagrant (iniciando os trabalhos) (20)

PDF
Vagrant uma ferramenta realmente útil e versátil
PDF
Vagrant sti
PDF
Apt_vagrant_chef_olavo_queiroz
PDF
Construção e provisionamento de ambientes de desenvolvimento virtualizados
PDF
Vagrant - ambiente de desenvolvimento virtualizado
PDF
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
PPTX
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
PDF
Lab python django - parte 1 - windows e vagrant
PDF
Vagrant vs docker? Melhor vagrant + docker
PDF
Desenvolvimento PHP com Vagrant - 7Masters PHP
PPTX
Evitando a fadiga com Laravel Homestead
PDF
oVirt - gerenciamento de máquinas virtuais com código aberto
PDF
Vagrant + Puppet
PDF
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
KEY
Desenvolvimento PHP com Vagrant - TDC 2012
PPTX
PHP Conference 2016
PDF
Vagrant você deveria está usando
PDF
MySQL em 10min - Alexandre Almeida HTI Tecnologia
PDF
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
PDF
Instalando o MySQL em menos de 10 minutos
Vagrant uma ferramenta realmente útil e versátil
Vagrant sti
Apt_vagrant_chef_olavo_queiroz
Construção e provisionamento de ambientes de desenvolvimento virtualizados
Vagrant - ambiente de desenvolvimento virtualizado
Desenvolvimento PHP com Vagrant - PHP Conference Brasil 2012
Desmistificando um Ambiente de Desenvolvimento WEB com Vagrant
Lab python django - parte 1 - windows e vagrant
Vagrant vs docker? Melhor vagrant + docker
Desenvolvimento PHP com Vagrant - 7Masters PHP
Evitando a fadiga com Laravel Homestead
oVirt - gerenciamento de máquinas virtuais com código aberto
Vagrant + Puppet
Vagrant + chef cookbooks ambiente de desenvolvimento como o de produção em ...
Desenvolvimento PHP com Vagrant - TDC 2012
PHP Conference 2016
Vagrant você deveria está usando
MySQL em 10min - Alexandre Almeida HTI Tecnologia
JS Experience 2017 - Utilizando a virtualização para simplificar o desenvolvi...
Instalando o MySQL em menos de 10 minutos
Anúncio

Mais de Wagner Bianchi (20)

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

Último (20)

PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PPTX
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
PPTX
Aula sobre desenvolvimento de aplicativos
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Aula sobre banco de dados com firebase db
PDF
Apple Pippin Uma breve introdução. - David Glotz
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PPTX
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Curso de Java 17 - (JEE (Sessões e Cookies)).pptx
Curso de Java 9 - (Threads) Multitarefas.pptx
Curso de Java 13 - (JavaEE (JSP e Servlets)).pptx
Aula sobre desenvolvimento de aplicativos
Processos na gestão de transportes, TM100 Col18
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Aula sobre banco de dados com firebase db
Apple Pippin Uma breve introdução. - David Glotz
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Curso de Java 10 - (IO Manipulação de Arquivos).pptx
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
COBITxITIL-Entenda as diferença em uso governança TI
Aula 18 - Manipulacao De Arquivos python
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14

UNIFAL - MySQL & Vagrant (iniciando os trabalhos)

  • 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, ...
  • 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!
  • 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