instalando o mysql em menos de 10 minutos

18
MySQL em 10 minutos como instalar o MySQL em 10 minutos HTI Consultoria e Tecnologia Alexandre M de Almeida www.hti.com.br [email protected]

Upload: alexandre-almeida

Post on 14-Jul-2015

2.852 views

Category:

Technology


4 download

TRANSCRIPT

MySQL em 10 minutos como instalar o MySQL em 10 minutos

HTI Consultoria e Tecnologia Alexandre M de Almeida

www.hti.com.br

[email protected]

Objetivo

•  Fazer uma instalação simples e rápida •  Reforçar dicas importantes na instalação

Antes de tudo…

•  Qual o tipo de aplicação? •  Banco de dados OLTP ou OLAP? •  Storage Engines? •  Processamento •  Memória •  Discos, ah sim, discos

Pacotes

•  Source (fonte) •  Distro (yum, apt-get, urpmi, etc) •  RPM •  Binário

– RedHat, Linux Generic*, Solaris – MacOS, Suse, FreeBSD – Uindols

Por que eu prefiro binários?

•  Preguiça de compilar ;-) •  Não sei usar as melhores opções •  Não se tenho as bibliotecas:

– mais atualizadas – compatíveis entre si (versões)

•  É mais rápido (install e performance)

•  Permite mais threads estáveis •  Binários de melhor qualidade

Primeiro Passo

•  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/

1. Descompactar

•  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

2. Usuário e Grupo

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

[root@daredevil local]# useradd mysql

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

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

5. Personalização •  Não é necessário à defaults •  SepararDados & Logs à Back up Raw •  3 minutos no máximo

[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

6. Permissões

•  Usuário mysql deve reinar (e só ele) [root@daredevil local]# chown -R mysql: /dados [root@daredevil local]# chown -R mysql: /logs [root@daredevil local]# chmod -R 770 /dados [root@daredevil local]# chmod -R 770 /logs

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 …

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

9. Mínimo 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

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>

Ufa!

Perguntas & Respostas (Atenção! Tomates não são permitidos)

Alexandre M de Almeida BLOG: www.alexandremalmeida.com.br

Twitter: alex_almeida_db

Obrigado!