mytop, para monitorar seu MySQL

O mytop é um clone do comando top para o MySQL. Ele é usado para monitorar a performance do seu banco, sem precisar de softwares caros, complexos ou pesados. Ele é escrito em Perl e abaixo está um mini-roteiro de como instalá-lo – no meu caso, Mac OS Mountain Lion.



Antes de compilar o mytop é necessário instalar o pré-requisito DBD-Mysql. No terminal, digite:
perl -MCPAN -e 'shell'

Em seguida, execute:

get DBD::mysql
exit

Ao sair do prompt do cpan, digite:

cd ~/.cpan/build/DBD-mysql-<version>/
perl Makefile.PL--testuser='mysql_user_name' --testpassword='mysql_passwd'
make
make test
make install

Faça o download do pacote porque já é hora de compilá-lo:

tar -zxvf mytop-<version>.tar.gz
cd mytop-<version>
perl Makefile.PL
make
make test
make install

Execute o mytop pela primeira vez:

mytop

Pode acontecer o seguinte erro:

Error in option spec: "long|!"

Caso esse erro aconteça, é necessário editarmos o mytop. Abra o arquivo – aqui instalado em /usr/local/bin e edite a linha 159:

"long|long_nums|l!" => $config{long_nums},

Além disso, substitua as linhas 958 e 959 pelas linhas seguintes:

if ($host)
	{
		$host =~ s/^([^.]+).*/$1/;
		$thread->{Host} = $host;
	}

Usando o mytop

Você pode monitorar seu banco passando as configurações de conexão via shell:

mytop -u 'seuusuario' -p 'suasenha' -h 127.0.0.1 -d 'seubanco'

…ou pode criar um arquivo .mytop em sua pasta de usuários, como o abaixo:

user=seuusuario
pass=suasenha
host=127.0.0.1
db=seubanco
 

Rails e cia no Snow Leopard

Fiz uma instalação nova do Snow Leopard no meu MacBook e ao migrar os dados do Time Machine, do Leopard, algumas coisas pararam de funcionar. Resolvi então escrever para complementar meu post anterior sobre o assunto.

Xcode

ANTES DE MAIS NADA, instalei o Xcode. Ele está junto no DVD do Snow Leopard, na pasta de Instalações Opcionais.

Rails

O Snow Leopard já vem com duas versões do Rails já instaladas: 2.2.2 e 1.13.6. Caso queira atualizar seu ambiente:
… 

 

Alternativas ao PHPMyAdmin

O PHPMyAdmin é quase uma unanimidade em gerenciadores de banco de dados MySQL. Mas existe vida além dele. Vamos lá:

SQL Buddy

O SQL Buddy é uma alternativa bacana, com bonita interface e traduzido para vários idiomas, incluindo português.

sqlbuddy

Adminer

Já o Adminer é um app em php feito em 1(!) único arquivo. Possui diversas traduções (nenhuma ainda em português) mas é altamente indicado o mantermos em nossos servidores para uma rápida manutenção.

adminer

 

Descubra de onde vem seus usuários com SQL

Tenho no autosimulado algumas queries para acompanhar a evolução dos usuários do site. Periodicamente, vejo o número de usuários criados dia-a-dia no site e o número de testes realizados por esses usuários.

Relacionado as essas queries, vi uma interessante consulta para agrupar o número de usuários por domínio de email, através da função substring. Confira:

O resultado, quando aplicado ao banco de dados do autosimulado:

+-------+----------------+
| Total | Domain         |
+-------+----------------+
|   644 | hotmail.com    | 
|   116 | gmail.com      | 
|    98 | yahoo.com.br   | 
|    37 | bol.com.br     | 
|    33 | ig.com.br      | 
|    15 | uol.com.br     | 
|    11 | oi.com.br      | 
|    10 | yahoo.com      | 
|     9 | hotmail.com.br | 
|     8 | terra.com.br   | 
+-------+----------------+
10 rows in set (0.00 sec)
 

Edge Rails no Windows Vista

Uma das mudanças do Rails 2.2 é não inclusão do bundle do MySQL, responsável por conectar seu projeto ao banco. Mês passado eu postei sobre isso e hoje, ao tentar instalar o gem do MySQL no Windows Vista de um co-worker, me deparei com um problema na DLL libmySQL.dll.

A solução encontrada foi copiar esse arquivo (geralmente em C:Program FilesMySQLMySQL Server 4.1bin) para a pasta bin do Ruby (por exemplo: C:rubybin).

Que fique documentado ;)