MySQL em 10min - Alexandre Almeida HTI Tecnologia

2,316 views

Published on

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.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,316
On SlideShare
0
From Embeds
0
Number of Embeds
57
Actions
Shares
0
Downloads
61
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

MySQL em 10min - Alexandre Almeida HTI Tecnologia

  1. 1. 1
  2. 2. <Insert Picture Here>MySQL em 10 minutos - IIAlexandre M de AlmeidaConsultor Sr MySQL
  3. 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 3
  4. 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 4
  5. 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 5
  6. 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 6
  7. 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 7
  8. 8. <Insert Picture Here> MySQL Community Tornar o MySQL um banco de dados acessível e disponível à todos 8
  9. 9. Mão na massa… Mas, antes de tudo!•  Qual o tipo de aplicação! <Insert Picture Here>•  Banco de dados OLTP ou OLAP?•  Storage Engines?•  Processamento e Processador•  Memória, por favor, memória•  Discos, ah sim, os discos 9
  10. 10. Pacotes de Instalação•  Fonte (source)•  Distro (yum, apt-get, urpmi, etc)•  RPM•  Binário –  RedHat, Linux Generic*, Solaris –  MacOS, Suse, FreeBSD –  Uindols 10
  11. 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 11
  12. 12. Instalando o MySQL em 10 minutosInstalaçã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/ 12
  13. 13. 1. Descompactando o pacote baixado•  tar (10s + tempo para lembrar como usar)•  /usr/local ou /optroot@daredevil local]# time tar -zxvf mysql-5.5.17-linux2.6-x86_64.tar.gzmysql-5.5.17-linux2.6-x86_64/support-files/ndb-config-2-node.inimysql-5.5.17-linux2.6-x86_64/support-files/magicmysql-5.5.17-linux2.6-x86_64/support-files/my-innodb-heavy-4G.cnf…real 0m10.165suser 0m6.305ssys 0m4.350s 13
  14. 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 14
  15. 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 15
  16. 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 16
  17. 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 pid-file = /logs/mysqld.pid[mysqld] [client] server-id = 100 port = 3306 port = 3306 socket = /logs/mysql.sock 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 17
  18. 18. 7. Sistema de Dados•  Script prepara o datadir e logs[root@daredevil local]# cd /usr/local/mysql[root@daredevil mysql]# scripts/mysql_install_dbInstalling MySQL system tables...OKFilling help tables...OK… 18
  19. 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 19
  20. 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 20
  21. 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 –pEnter password:Welcome to the MySQL monitor. Commands end with ; or g.Your MySQL connection id is 2Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.Type help; or h for help. Type c to clear the current input statement.mysql> 21
  22. 22. <Insert Picture Here>OBRIGADO! Alexandre M de Almeida alexandremalmeida.com.br alex_almeida_db 22
  23. 23. 23

×