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

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 seutilizar 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 novoprojeto 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 novoprojeto 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 novoprojeto 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 MySQL5.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 instalandoo 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 instalandoo 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.