Introdução ao MySQL
No fórum do Viva o Linux tenho percebido diversas perguntas sobre o MySQL, dúvidas sobre conexão, direitos de usuários, dentre outros detalhes básicos. Se você não conhece nada ou quase nada sobre o MySQL, chegou a hora de aprender um pouco mais sobre ele!
Parte 6: Segurança e configuração
Segurança no MySQL
Bom pessoal, agora que já conhecemos o MySQL um pouco mais, temos que saber duas coisas bem importantes nesse mundinho de informática, a performance e a segurança, essas duas palavras podem ocasionar uma promoção ou uma demissão, então seguiremos atentos as duas!Primeiro queria falar brevemente sobre segurança, existe um detalhe no MySQL que me incomoda e que todos nós conhecemos, o /root/.bash_history. Lá fica armazenado todo o histórico de comandos do root, mas existe também o /root/.mysql_history, Porém existem uma diferença entre ambos.
Quando criamos um novo usuário no Linux, percebemos que no momento de informar a senha ele não exibe no bash, logo, não existe inserção desse determinado dado no arquivo ".bash_history". No MySQL é diferente, quando criamos um usuário e informamos a senha, ele exibe no bash, sendo assim, existe inserção no arquivo ".mysql_history".
Executando o tail verifiquemos o conteúdo do .mysql_history:
# tail -f /root/.mysql_history
CREATE USER estagiario;
GRANT SELECT minha_base.* TO 'estagiario'@'%' identified by 'estag';
SHOW GRANTS FOR 'estagiario'@'%';
REVOKE SELECT ON minha_base.* FROM 'estagiario'@'%';
SET PASSWORD FOR 'estagiario' = PASSWORD('nova_senha');
DROP USER 'estagiario';
Preste atenção na penúltima linha. Puxa, interessante não!? Particularmente sempre agendo uma tarefa no cron para excluir o arquivo ".mysql_history". Lembre-se também de proteger em seu firewall a porta 3306 (porta de comunicação do MySQL), liberando somente o necessário!
Configuração do MySQL
Bem, essa parte não é tão complicada como parece, o MySQL vem com alguns arquivos de configuração:- my-small.cnf - Servidores com 64 a 128 megas de memória RAM dedicadas ao MySQL.
- my-medium.cnf - Servidores com 128 a 256 megas de memória RAM dedicadas ao MySQL.
- my-medium.cnf - Servidores com 256 a 512 megas de memória RAM dedicadas ao MySQL.
- my-large.cnf - Servidores com 512 megas a 1 Gb de memória RAM dedicadas ao MySQL.
- my-huge.cnf - Servidores com mais de 1 Gb de memória RAM dedicada ao MySQL.
Mas eu prefiro um aqui do VOL que é bem explicadinho, funciona muito bem: Configuração otimizada para servidores MySQL super utilizados.
Ainda não li tudo, porém, estou ancioso para poder chegar em casa e ler com calma, já esta impresso :)
Show de bola velinho, não conheço nada de Banco de Dados, e isso ai, já irá ser uma bela porta de entrada,
Parabéns, é isso ae, 10!
Abraços