MySQL em 10min - Alexandre Almeida HTI Tecnologia
-
Upload
mysql-brasil -
Category
Technology
-
view
2.078 -
download
3
description
Transcript of MySQL em 10min - Alexandre Almeida HTI Tecnologia
1
<Insert Picture Here>
MySQL em 10 minutos - II Alexandre M de Almeida Consultor Sr MySQL
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
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
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
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
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
8
<Insert Picture Here>
“Tornar o MySQL um banco de dados acessível e disponível à
todos”
MySQL Community
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
10
Pacotes de Instalação
• Fonte (source) • Distro (yum, apt-get, urpmi, etc) • RPM • Binário – RedHat, Linux Generic*, Solaris – MacOS, Suse, FreeBSD – Uindols
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
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/
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
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
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
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
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
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 …
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
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
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>
22
<Insert Picture Here>
OBRIGADO!
Alexandre M de Almeida alexandremalmeida.com.br
alex_almeida_db
23