Lançado MySQL Workbench 5.1.2 Alpha para Linux

Tags: , — September 27, 2008 @ 10:42 am

mysql-workbenchFinalmente foi lançada uma versão Alpha do MySQL Workbench para Linux, depois de quase dois anos após a versão antiga ficar disponível apenas para Windows.

Para quem não sabe, o MySQL Workbench é o sucessor do antigo DBDesigner4, um editor visual de modelo de dados, criado inicialmente para MySQL, com possibilidade de criar o modelo de dados por engenharia reversa e exportar DDL.

Segue um screenshot do DBDesigner4:

DBDesigner4

A pouco mais de um ano atrás, o MySQL Workbench era incluído no macote mysql-gui-tools para linux e, inclusive, disponível no Debian. Porém o software era por demais instável e continha muitos bugs, assim ele foi removido dos repositórios do Debian e, posteriormente descontinuado, passando a ser disponível apenas a versão Windows.

Possivelmente a maior parte do código do antigo Workbench foi reescrito, e desde a versão beta para windows lançada em Novembro passado, nós usuários Linux temos estado ansiosos para ter a nova ferramente disponível no Linux (e logo para Mac OSX também).

Particularmente falando, minha primeira experiência com o MySQL Workbench foi decepcionante, isso por causa da quantidade de bugs e falta de funcionalidadesque a versão antiga continha. Porém, o antigo DBDesigner era uma ferramenta ótima, que tornava muito mais fácil a criação e visualização de modelos de dados, assim, sempre esperei que o MySQL Workbench viesse a ser tão bom, ou até melhor que seu predecessor.

Naturalmente, vou postar aqui como obter os fontes e instalar o MySQL Workbench 5.1.2 Alpha. Há também um pacote *.deb disponível para ubuntu, mas vou abordar apenas a instalação via fontes.

Primeiramente, será necessário instalar algumas dependências:

# aptitude install \
autoconf \
automake \
libtool \
libzip-dev \
libxml2-dev \
libsigc++-2.0-dev \
libglade2-dev \
libgtkmm-2.4-dev \
libglu1-mesa-dev \
libmysqlclient15-dev \
uuid-dev \
liblua5.1-dev \
libpixman-1-dev \
libpcre3-dev \
g++ \
libgnome2-dev \
libgtk2.0-dev \
libpango1.0-dev \
libcairo2-dev

Também será necessário instalar anteriormente a biblioteca ctemplate, do Google.

$ wget ftp://ftp.mysql.com/pub/mysql/download/gui-tools/mysql-workbench-5.1.2-alpha-linux.tar.gz
$ tar xzvf ctemplate-0.91.tar.gz
$ cd ctemplate-0.91/
$ ./configure --prefix=/usr/local
$ make
# make install (como root)
# ldconfig

Após instalada a biblioteca, vamos compilar e instalar o MySQL Workbench. Os fontes da primeira versão Alpha para Linux podem ser encontrados aqui:

$ wget ftp://ftp.mysql.com/pub/mysql/download/gui-tools/mysql-workbench-5.1.2-alpha-linux.tar.gz
$ tar xzvf mysql-workbench-5.1.2-alpha-linux.tar.gz
$ cd mysql-workbench-5.1.2-alpha-linux/
$ ./autogen.sh --prefix=/usr/local
$ make
# make install (como root)

Após isto a instalação estará concluída, bastando executar mysql-workbench em um terminal para testar o software.

$ mysql-workbench

MySQL Workbench first screen MySQL Workbench EER view

Fontes: http://br-linux.org/2008/lancado-o-alpha-do-mysql-workbench-para-linux/,
http://dev.mysql.com/workbench/?page_id=152,
http://dev.mysql.com/workbench/?p=156

Se você gostou deste artigo, inscreva-se em meu RSS feed!

QuantumDB Eclipse Plugin - Executando consultas SQL no seu Eclipse

Tags: , — July 24, 2008 @ 3:10 pm

QuantumDB é um plugin para o eclipse que possibilita conexão com diversas bases de dados, além de possuir um editor SQL e a possibilidade de executar scripts diretamente em uma base selecionada.

Com o QuantumDB não há mais necessidade de utilizar uma aplicação externa para testar seus scripts SQL ou executar consultas em geral.

QuantumDB PerspectiveJá a algum tempo utilizo o editor SQL do QuantumDB, mas sempre utilizei o MySQL Query Browser para realizar consultas e executar scritps SQL. Porém, após minha última atualização do Debian, percebi um bug não resolvido, que fazia o Query Browser travar sempre que se selecionava uma base. Assim fui obrigado a procurar uma alternativa.

Eu já sabia que o quantum DB tinha recursos para integrar consultas SQL ao Eclipse, como pode-se ver pela imagem a direita, só me faltava fazer a conexão com o servidor MySQL.

Não vou mensionar a instalação do plugin no eclipse, visto que esta é bem explicada na página do QuantumDB, apenas como conectar a uma base de dados MySQL (ou outra) e utilizá-lo.

Para isto, é necessário instalar conectores Java para o MySQL. No Debian (e variantes, como o Ubuntu) basta instalar o pacote libmysql-java:

# aptitude install libmysql-java

Se você utiliza outras bases de dados, basta procurar o conector correto com o apt-cache. Exemplo:

# apt-cache search postgresql java

Após instalar o conector, clique no “New Bookmark” na aba “Database Bookmarks” do QuantumDB, então clique em “Add Driver” e em “Add external Jar“, selecionando o conector java (/usr/share/java/mysql.jar, por exemplo). Em seguida clique em “Browse” para selecionar a classe, e selecione “com.mysql.jdbc.driver” e clique em “Finish“.

Após adicionar o driver, basta selecioná-lo, e criar a conexão fornecendo os dados da base (servidor, usuário e senha, nome da base e um nome que aparecerá nos bookmarks) utilizando o Assistente (Next, Next[, …]).

Para facilitar ainda mais, podemos utilizar os recursos do Eclipse para integrar a visão de consultas ou outras do QuantumDB a perspectiva de seu plugin mais utilizada, assim não é necessário ficar trocando de telas para realizar consultas ou executar Scripts. Eu, por exemplo, tenho utilizado a visão de consultas do QuantumDB integrada a minha perspective para PHP (veja screenshot abaixo).

Visões de Bookmarks, Consultas e Resultados do Quantum DB integrados a perspectiva PHP (painel inferior) Opção para executar Scripts SQL, a partir do navegador, diretamente em uma base.

Se você gostou deste artigo, inscreva-se em meu RSS feed!

Copiando bases ou tabelas MySQL

Tags: — June 7, 2008 @ 7:58 pm

Uma característica que pode fazer falta no MySQL é a possibilidade de renomear bancos de dados, assim, quando esta ação é necessário, o único modo é copiando toda uma base para uma nova e removendo a antiga.

Para facilitar este processo, podemos utilizar o mysqlhotcopy, um script em perl capaz de copiar rapidamente bases de dados completa ou parcialmente, desde que todas as tabelas a serem copiadas utilizem as engines MyIsam ou Isam.

Desde que migrei meu blog para o novo servidor pretendia renomear a base de dados utilizada. Embora algumas versões do MySQL 5.1 incluam um comando para renomear bases, este foi removido recentemente e não é recomendado que seja utilizado nas versões que o possuem. Assim, eu estava prestes a utilizar o mysqldump para copiar inteiramente a base, quando me deparei com o mysqlhotcopy.

De fato, a própria documentação do mysqldump recomenda o uso do mysqlhotcopy para backups, desde que utilizado para tabelas MyIsam ou Isam, devido ao ganho de velocidade. Assim, para copiar uma base completa, basta utilizar:

$ mysqlhotcopy -u username -p password bd_origem bd_destino

Também é possível utilizar regex para selecionar as bases a serem copiadas, ou as tabelas dentro de uma base.

Como ponto negativo, o mysqlhotcopy só pode copiar bases de dados locais, e é necessário especificar a senha (se houver senha) do usuário a fazer a copia na linha de comando. Mas ainda assim é uma ótima opção para copiar bases completas, uma vez que tabelas MyIsam são hoje as mais utilizadas em bases de dados MySQL.

Se você gostou deste artigo, inscreva-se em meu RSS feed!