MySQL em 10min - Alexandre Almeida HTI Tecnologia

23

description

Uma boa explicação de porque utilizar MySQL e um passo a passo mostrando como instalá-lo em menos de 10 minutos. Slides da apresentação de Alexandre Almeida durante o OTN MySQL Community Forum 2011.

Transcript of MySQL em 10min - Alexandre Almeida HTI Tecnologia

Page 1: MySQL em 10min - Alexandre Almeida HTI Tecnologia

1

Page 2: MySQL em 10min - Alexandre Almeida HTI Tecnologia

<Insert Picture Here>

MySQL em 10 minutos - II Alexandre M de Almeida Consultor Sr MySQL

Page 3: MySQL em 10min - Alexandre Almeida HTI Tecnologia

3

Por que utilizar o MySQL?

•  O que estão dizendo? –  “Altamente flexível, instalação rápida, disponibilidade de

talentos no mercado, rápida formação de talentos, custo zero” Tim T., Pervasive Networks

–  “Custo zero de aquisição, flexibilidade (storage engine),

diversidade de ferramentas” Laine C., Tango.me –  “Simplicidade e Performance” Mitch P., Sounday –  “Simples, bem aceito por programadores e administradores,

e é de graça” Mats K., Sr. Developer @ Oracle

Page 4: MySQL em 10min - Alexandre Almeida HTI Tecnologia

4

Por que utilizar o MySQL?

•  Flexível –  Storage Engines –  n respostas para 1 pergunta

•  Capacitação & Aprendizado –  Comandos simples e intuitivos –  Menor tempo & investimento na capacitação

•  Usabilidade –  Grande diversidade de ferramentas GUI –  Ferramentas gratuitas

Page 5: MySQL em 10min - Alexandre Almeida HTI Tecnologia

5

Por que utilizar o MySQL?

•  Escalabilidade & Alta Disponilidade –  Replicação Nativa –  NDB Cluster (MySQL Cluster) –  Tungsten!, ScaleDB, InfiniDB

•  Funcionalidades –  Procedure, Functions & Triggers –  Events –  Funções & Comandos para desenvolvimento SQL

Page 6: MySQL em 10min - Alexandre Almeida HTI Tecnologia

6

Por que utilizar o MySQL?

•  Transações –  100% ACID –  Transações Distribuídas (XA)

•  Gerenciamento & Monitoração –  MySQL Monitoring, MONyog –  Administrator, Nagios, comandos nativos –  Simples & Fácil

•  Performance –  Alta performance & altamente configurável

Page 7: MySQL em 10min - Alexandre Almeida HTI Tecnologia

7

Por que utilizar o MySQL?

•  Baixo TCO –  Sabores: “grátis” ou “pago” (enterprise) –  Manutenção simples, menor downtime, menos $$$

•  Grand Finale –  OpenSource –  Confiabilidade e Robustez compravados –  O mascote é bacaninha –  Pouco exigente quanto ao hardware

Page 8: MySQL em 10min - Alexandre Almeida HTI Tecnologia

8

<Insert Picture Here>

“Tornar o MySQL um banco de dados acessível e disponível à

todos”

MySQL Community

Page 9: MySQL em 10min - Alexandre Almeida HTI Tecnologia

9

<Insert Picture Here>

Mão na massa… Mas, antes de tudo!

•  Qual o tipo de aplicação! •  Banco de dados OLTP ou OLAP? •  Storage Engines? •  Processamento e Processador •  Memória, por favor, memória •  Discos, ah sim, os discos

Page 10: MySQL em 10min - Alexandre Almeida HTI Tecnologia

10

Pacotes de Instalação

•  Fonte (source) •  Distro (yum, apt-get, urpmi, etc) •  RPM •  Binário –  RedHat, Linux Generic*, Solaris –  MacOS, Suse, FreeBSD –  Uindols

Page 11: MySQL em 10min - Alexandre Almeida HTI Tecnologia

11

Por que eu prefiro os binários?

•  Preguiça de compilar ;-) •  Não sei usar as melhors opções (e você?) •  Não sei se tenho as bibliotecas: –  mais atualizadas –  mais adequadas e compatíveis entre si (versões)

•  É mais rápido (install e performance) •  Permite mais threads estáveis •  Binários de melhor qualidade

Page 12: MySQL em 10min - Alexandre Almeida HTI Tecnologia

12

Instalando o MySQL em 10 minutos Instalação e Configuração Básica em 10 passos

•  Antes de disparar o cronômetro… •  Consiga seu binário (tar.gz)

[root@daredevil ~]# cd /usr/local/ [root@daredevil local]# wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.17-linux2.6-x86_64.tar.gz/from/http://ftp.gwdg.de/pub/misc/mysql/

Page 13: MySQL em 10min - Alexandre Almeida HTI Tecnologia

13

1. Descompactando o pacote baixado

•  tar (10s + tempo para lembrar como usar) •  /usr/local ou /opt root@daredevil local]# time tar -zxvf mysql-5.5.17-linux2.6-x86_64.tar.gz mysql-5.5.17-linux2.6-x86_64/support-files/ndb-config-2-node.ini mysql-5.5.17-linux2.6-x86_64/support-files/magic mysql-5.5.17-linux2.6-x86_64/support-files/my-innodb-heavy-4G.cnf … real 0m10.165s user 0m6.305s sys 0m4.350s

Page 14: MySQL em 10min - Alexandre Almeida HTI Tecnologia

14

2. Criação de Usuário e Grupo

•  Usuário de sistema do mysqld •  10 segundos (20 se for no escuro)

[root@daredevil local]# useradd mysql

Page 15: MySQL em 10min - Alexandre Almeida HTI Tecnologia

15

3. Diretórios

•  /var/lib/mysql (normalmente é o default)

•  Um para dados outro para logs •  Ideal discos diferentes (depende do HW)

•  10 segundos?

[root@daredevil local]# mkdir /dados [root@daredevil local]# mkdir /logs

Page 16: MySQL em 10min - Alexandre Almeida HTI Tecnologia

16

4. Link Simbólico

•  Facilita na criação de PATHS •  E ajuda num eventual upgrade de versão •  0.05 segundos

[root@daredevil local]# ln -s mysql-5.5.17-linux2.6-x86_64/ mysql

Page 17: MySQL em 10min - Alexandre Almeida HTI Tecnologia

17

5. Personalização

•  Não é necessário à defaults •  SepararDados & Logs à Back up Raw •  3 minutos no máximo (só quem não fez curso de datilografia leva tanto tempo)

[root@daredevil local]# vi /etc/my.cnf [mysqld] server-id = 100 port = 3306 user = mysql socket = /logs/mysql.sock datadir = /dados basedir = /usr/local/mysql log-error = /logs/errorlog.err log-bin = /logs/binlog relay-log = /logs/relaylog

pid-file = /logs/mysqld.pid [client] port = 3306 socket = /logs/mysql.sock

Page 18: MySQL em 10min - Alexandre Almeida HTI Tecnologia

18

7. Sistema de Dados

•  Script prepara o datadir e logs [root@daredevil local]# cd /usr/local/mysql [root@daredevil mysql]# scripts/mysql_install_db Installing MySQL system tables... OK Filling help tables... OK …

Page 19: MySQL em 10min - Alexandre Almeida HTI Tecnologia

19

8. Subir o servidor

•  Manual à mysqld_safe •  Automático à mysql.server

[root@daredevil mysql]# bin/mysqld_safe & 111027 15:48:44 mysqld_safe Logging to '/logs/errorlog.err'. 111027 15:48:44 mysqld_safe Starting mysqld daemon with databases from /dados

Page 20: MySQL em 10min - Alexandre Almeida HTI Tecnologia

20

9. Mínimo baseline de Segurança

•  Script: mysql_secure_installation –  Senha para root (renomear é o ideal) –  Elimina acesso de qq host (%) –  Elimina acesso convidado (anônimo) –  “Dropa” banco de dados test

Page 21: MySQL em 10min - Alexandre Almeida HTI Tecnologia

21

10. Pronto para uso

•  Fala sério… 6min 38seg •  Ajuste o PATH como requerido [root@daredevil local]# export PATH=$PATH:/usr/local/mysql/bin [root@daredevil local]# mysql –uroot –p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.5.17-log MySQL Community Server (GPL) Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>

Page 22: MySQL em 10min - Alexandre Almeida HTI Tecnologia

22

<Insert Picture Here>

OBRIGADO!

Alexandre M de Almeida alexandremalmeida.com.br

alex_almeida_db

Page 23: MySQL em 10min - Alexandre Almeida HTI Tecnologia

23