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!