MeuMySQL Blog is now at http://blog.mdnsolutions.com/.

Tuesday, September 20, 2011

Instalando distribuição binária do MySQL no CentOS



Ola galera! Ultimamente venho estudando para tentar passar na primeira prova de certificação da Oracle MySQL DBA I e vou contar um coisa: é bem complicado, contudo é muito prazeroso. O primeiro caso se dá pelo fato de eu como desenvolvedor que sempre esteve sob plataforma Windows (desculpe, não tenho orgulho disso) quando cheguei em um nível onde o Linux é fundamental tive algumas dificuldades.

Neste novo ambiente tive que instalar e configurar o MySQL (MySQL Community Server 5.5.16)  no Linux (CentOS Linux release 6.0 Final) e para isso precisei entender melhor como essa plataforma, comandos e recursos funcionam uma vez que diferem bastante do Windows. Enfim, vamos ao que interessa, fazer o nosso servidor rodar.


Escolha da distribuição e instalação do MySQL

Assim como consta no manual podemos fazer a instalação de várias formas, optei por utilizar a distribuição binária Linux - Generic 2.6 (x86, 64-bit), Compressed TAR Archive disponivel no próprio site da MySQL  (link direto para essa distribuição aqui). Bem, uma vez feita o download temos que antes de mais nada criar um usuário e grupo para trabalhar com o servidor MySQL. Logue no seu Linux como root e rode os comandos abaixo. Eles criam um grupo para o MySQL e adicionam um usuário que vai servir apenas para fins administrativos sem direitos de login.

shell> groupadd mysql
shell> useradd -r -g mysql mysql

Alteramos nosso diretório para o local onde instalaremos nosso server. Suponho neste ponto que você também tenha feito o download aqui, então vamos extrair a distribuição e alterar o nome da pasta atual "full-path-to-mysql-VERSION-OS" para algo mais simbolico como "mysql".

shell> cd /usr/local
shell> tar zxvf /path/to/mysql-VERSION-OS.tar.gz
shell> ln -s mysql-5.1.59-linux-i686-glibc23 mysql

Vamos agora acessar o novo diretorio criado e dar para ele as permissões do grupo mysql que criamos anteriormente.

shell> cd mysql
shell> chown -R mysql .
shell> chgrp -R mysql .

Feito isso, a instalação pode ser executada. Abaixo o comando faz a criação das pastas iniciais da sua base de dados MySQL. Eles serão criados em /var/lib/mysql, recomendo que você crie esse diretorio antes e dê também as mesmas permissões como feito no passo anterior.

shell> scripts/mysql_install_db --user=mysql
shell> chown -R root .
shell> chown -R mysql data

Os próximos comandos são opcionais, mas recomendo que sejam executados também. Neles criamos um my.cnf no diretório etc, atribuimos um usuário para o servidor mysqld_safe e criamos uma copia do mysql.server na pasta de inicialização do Linux. Observer neste ultimo passo que também mudamos o nome do arquivo ao fazer a copia de mysql.server para mysql. Assim o servidor será carregado automaticamente quando o linux iniciado.

shell> cp support-files/my-medium.cnf /etc/my.cnf
shell> bin/mysqld_safe --user=mysql &
shell> cp support-files/mysql.server /etc/init.d/mysql


Configuração e teste do servidor

Uma vez instalado o seu servidor temos que agora alterar alguns parametros no nosso arquivo my.cnf para que o servidor rode corretamente. A propósito essa foi uma pequena dor de cabeça pra mim ao instalar pela primeira vez deste modo já que na documentação oficial o passo a passo solicita você testar antes de checar essas informações. Enfim, abaixo segue aproximadamente como seu my.cnf deve ficar para o servidor rodar, eu usei o vi do Linux para edita-lo.

[mysqld]
datadir=/var/lib/mysql/
socket=/tmp/mysql.sock
port=3306
user=mysql

[mysql.server]
basedir=/usr/local/mysql


Desta forma seu servidor está pronto para rodar. Basta executar o comando abaixo e você receberá a mensagem de sucesso.

shell>> /etc/init.d/mysql start
Starting MySQL.. SUCCESS!

Agora vamos finalmente configurar uma variável de ambiente com o caminho da pasta bin adicionando um PATH no sistema. Crie um arquivo chamado mysql.sh como mostrado abaixo e adicione dentro dele o caminho PATH=${PATH}:/usr/local/mysql/bin (necessário reiniciar para essa alteração funcionar). Feito isso, basta apenas rodar o mysql client no seu shell e pode comecar a trabalhar em sua nova base de dados.

shell>> touch /etc/profile.d/mysql.sh
shell>> mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1
Server version: 5.1.59 MySQL Community Server (GPL)
mysql>


Bem, basicamente isso galera. Lembrando ainda que temos que implementar ainda a seguranca do nosso banco de dados que você encontra referências em inglês aqui. Espero em breve estar escrevendo sobre isso também visto que é mais um conhecimento também requerido na certificação ORACLE SCMDBA. Obrigado à todos e qualquer dúvida deixe um comentário.

Referências:

2 comments:

  1. Maneiríssimo Medina !!! Daqui a pouco o LINUX estará na VEIA !!!

    Hauhauhauha.

    Abraços !!!!

    ReplyDelete
  2. Tem mais um detalhe galera, caso estejam instalando a versão do MySQL 5.5 e em algum momento tenham o seguinte erro:

    /usr/local/mysql/bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory

    Digite a linha abaixo (No Debian/Ubuntu):
    apt-get install libaio1 libaio-dev

    Ou no Redhat/Fedora/CentOS:
    yum install libaio

    ReplyDelete