Olá pessoal!
Ultimamente tenho estudando para tentar passar na primeira prova de certificação da Oracle MySQL DBA I e vou contar um coisa: é bem complicado! Entretanto, é muito prazeroso. O primeiro caso se dá pelo fato de, 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 disponível no próprio site da MySQL (link direto para essa distribuição).
Uuma vez feito o download, temos que 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 que você também tenha feito o download, 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 diretório 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, e recomendo que você crie esse diretório 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, atribuímos um usuário para o servidor mysqld_safe e criamos uma cópia do mysql.server na pasta de inicialização do Linux.
Observe neste último passo que também mudamos o nome do arquivo ao fazer a cópia 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, agora temosque alterar alguns parâmetros 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 que você teste 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 editá-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 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>
Lembrando ainda que temos que implementar a segurança do nosso banco de dados, encontradas nas referências logo abaixo.
Obrigado! E se tiver qualquer dúvida, deixe um comentário.
Referências:
- http://dev.mysql.com/doc/refman/5.1/en/binary-installation.html
- http://dev.mysql.com/doc/refman/5.1/en/unix-postinstallation.html
- http://dev.mysql.com/doc/refman/5.1/en/automatic-start.html
- http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html