Adicionando MySQL do MAMP ou XAMPP via linha de comando no Terminal do Mac

Apesar de termos o PHPMyAdmin como excelente ferramenta de gerenciamento do MySQL, existem algumas facilidades quando trabalhamos com o MySQL via linha de comando.

Por exemplo, para fazer ou restaurar backup de uma base de dados é muito mais rápido via linha de comando do que exportando o arquivo pelo PHPMyAdmin e reimportando pelo mesmo. Sem contar que dependendo do tamanho do arquivo podem ocorrer erros na importação e corromper os dados.

Para este tipo específico de problema, resolvi então buscar uma forma mais prática para usar o MySQL instalado pelo MAMP (ou XAMPP) na linha de comando do terminal.

Os resultados que mostro abaixo foram baseados no artigo “Command line MySQL not working with XAMPP” do site http://www.aschroder.com/2009/03/how-to-use-the-mamp-mysql-command-line-client-in-a-terminal/.

Abra o terminal, crie um diretório na raiz chamado bin e acesse.

mkdir ~/bin
cd ~/bin

Crie um atalho para a aplicação

ln -s /Applications/MAMP/Library/bin/mysql mysql

Para usar o XAMPP no lugar do MAMP é só substituir o atalho da aplicação pelo endereço do XAMPP no seu sistema. Abra o arquivo ~/.bash_profile, pode ser usando o comando PICO e VI do terminal ou como eu prefiro, usando o aplicativo TextWrangler. Se houver alguma linha escrita neste arquivo, adicione na linha seguinte:

export PATH=$PATH:/Users/__usuario__/bin/

Caso contrário digite:

export PATH=/Users/__usuario__/bin/:$PATH

Lembrando de trocar o termo __usuario__ pelo seu nome de usuario do sistema. Salve o arquivo, volte ao terminal e teste digitando:

echo $PATH

Verifique o atalho com:

ls -la ~/bin

E verifique qual endereço do MySQL está rodando no seu sistema com:

which mysql

Pronto, a partir de agora para acessar o mysql é só digitar no terminal:

mysql

E o prompt de comando já será alterado para responder ao MySQL.

Erro 403 Forbidden usando MAMP para Mac

No desenvolvimento de páginas para web é muito comum utilizar parâmetros de reescrita de url utilizando o mod_rewrite do Apache. Alguns desses parâmetros podem interferir no funcionamento do MAMP, assim como XAMPP e outros packs LAMP.

Um desses erros possíveis é o erro 403, que corresponde de modo geral a uma tentativa de acesso proibida (mais informações sobre o erro 403 em http://en.wikipedia.org/wiki/HTTP_403). Este erro nega o acesso ao phpmyadmin e às demais páginas gerenciadas pelo MAMP.

A forma que encontrei para corrigir este erro foi bem simples. Pare todos os serviços. Não basta só fechar o aplicativo, tem que clicar em “Stop Servers” e aguardar o encerramento. Em seguida, por meio do aplicativo TextWrangler, que permite editar arquivos do sistema, acessei Applications/MAMP/conf/apache, abri o arquivo httpd.conf e a partir da linha 371 você tem o seguinte trecho de código:

# Each directory to which Apache has access can be configured with respect
# to which services and features are allowed and/or disabled in that
# directory (and its subdirectories).
#
# First, we configure the "default" to be a very restrictive set of
# features.
#

Options Indexes FollowSymLinks
AllowOverride All

Simplesmente altere a diretiva AllowOverride All para AllowOverride None, salve e inicie os serviços novamente. Isto já será suficiente para resolver esse pequeno problema de erro 403.