Atenção: esse artigo tem uma palestra complementar. Clique e assista!

De que trata o artigo:

Ele descreve um conjunto de ferramentas para facilitar a administração de servidores MySQL que compõem o Maatkit. No artigo são ainda apresentados alguns dos scripts do Maatkit fornecendo exemplos práticos de sua utilização em um ambiente real de desenvolvimento.


Para que serve:

Fornece uma visão prática da utilização do Maatkit, que é um conjunto de ferramentas para executar tarefas administrativas no MySQL, tais como controle de acessos, replicação e verificação de dados.


Em que situação o tema é útil:

Permite a detecção de problemas com o banco de dados e a solução rápida dos mesmos minimizando o impacto nas aplicações que utilizam o MySQL.

O MySQL tem sido cada vez mais utilizado para a construção de soluções para os mais variados tipos de aplicação. Isto tem se verificado especialmente pela facilidade de uso e a existência de várias características que o torna eficaz para ambientes que exigem alta disponibilidade, desempenho e escalabilidade.

Dependendo do objetivo e das propriedades de cada solução, podem ser elaboradas arquiteturas envolvendo vários servidores e instâncias de MySQL. Estas construções permitem uma distribuição de carga, bem como prover um ambiente seguro contra falhas de hardware e/ou software. Por outro lado, este aumento de complexidade dificulta a administração do ambiente, visto que são mais elementos a serem monitorados e gerenciados.

Um dos exemplos mais comuns envolvendo o MySQL é o uso da replicação de dados para implementar balanceamento de carga e capacidade de fail-over. Neste cenário, vários aspectos precisam ser observados para garantir o perfeito funcionamento do ambiente, tais como a consistência de dados entre os servidores master e slaves, ou até mesmo determinar se a replicação está ativa ou não.

Outra questão comum no dia a dia dos administradores de bancos de dados (DBA) é analisar o crescimento da base de dados, determinando quais as tabelas ou bases de dados estão crescendo rapidamente. Neste caso, podem-se utilizar estas informações para criar uma política de arquivamento de dados em outras bases satélites, mantendo nas bases de produção, somente os dados mais recentes. Com isto é possível aumentar o desempenho dos sistemas e minimizar o consumo desnecessário de recursos por parte do banco de dados.

Existem diversas outras tarefas importantes e que às vezes demandam um grande esforço do DBA para executá-las rotineiramente. Neste contexto, o Maatkit constitui-se como uma ferramenta de apoio muito importante. Esta ferramenta, desenvolvido por Baron Schwartz e atualmente patrocinado pela Percona – www.percona.com, é um conjunto de ferramentas que facilitam a administração de servidores MySQL.

O objetivo deste artigo é examinar os detalhes sobre a instalação e utilização deste conjunto de scripts para a resolução de problemas no MySQL ou até mesmo para simular tarefas rotineiras na administração do banco. Além disto, serão apresentados alguns dos scripts do Maatkit fornecendo exemplos práticos de sua utilização em um ambiente real.

Conhecendo o Maatkit

O Maatkit é um conjunto de scripts escritos em Perl e que podem ser obtidos gratuitamente no site www.maatkit.org. Os scripts são distribuídos sob a licença GPL V2, o que permite a modificação e redistribuição do mesmo, desde que sejam respeitadas as regras desta licença.

Estes scripts estão disponíveis para instalação em diversas distribuições Linux, o que facilita a sua utilização. Para o funcionamento desta ferramenta é necessário ter o Perl instalado, bem como as APIs de acesso ao banco de dados. Os detalhes para a configuração do Perl podem ser encontrados em http://www.perl.com/download.csp, e ficam fora do escopo deste artigo.

Esta ferramenta é composta por 26 scripts que permitem analisar consultas lentas (EXPLAIN), controlar a replicação de dados, comparar tabelas em servidores distintos, realizar auditoria de parâmetros, otimizar o processo de replicação, dentre vários outras funcionalidades existentes neste produto.

Ao longo das próximas sessões será apresentada a instalação do produto em uma máquina Linux, e serão descritos alguns dos scripts mais importantes, fornecendo exemplos de uso dos mesmos. Neste artigo os exemplos foram desenvolvidos utilizando-se o Ubuntu/Linux e o MySQL 5.0.75.

Instalação do Maatkit

O Ubuntu/Linux, sistema utilizado para a elaboração dos exemplos deste artigo, possui um gerenciador de pacotes chamado apt-get, que facilita a instalação de sistemas e pacotes de softwares no sistema. A grande vantagem destes gerenciadores de pacotes é que eles resolvem as dependências de bibliotecas existentes para os programas a serem instalados. Desta forma, serão configurados automaticamente todos os pacotes que são pré-requisitos para o funcionamento do software que está sendo instalado.

Para utilizar o gerenciador de pacotes, basta abrir um shell e executar o comando apt-get install maatkit, conforme ilustra a Listagem 1.

Listagem 1. Instalação do Maatkit no Ubuntu/Linux utilizando o apt-get.

ubuntu-linux:~# apt-get install maatkit

Selecting previously deselected package maatkit.

...
Unpacking maatkit (from .../maatkit_2442-1_all.deb) ...

Setting up maatkit (2442-1) ...
...
Your MySQL connection id is 2 ... 

Quer ler esse conteúdo completo? Tenha acesso completo