Categories
Banco de dados Tutoriais Ubuntu

Use o arquivo de configuração para se conectar mais fácil ao MySQL

O arquivo de configuração do MySQL pode armazenar os parâmetros que você sempre usa para conectar-se ao servidor de banco de dados, o que permite executar a tarefa com uma linha de comando mais enxuta, mais simples.
O arquivo de configuração do MySQL tem o nomemy.cnf. No Linux (Ubuntu), ele fica no diretório /etc/mysql/my.cnf — mas recomendo criar um no seu diretório pessoal: ~/my.cnf, onde você pode ter mais liberdade para editar suas configurações.
No Windows, o arquivo é C:\my.cnf — mas você pode usar também o C:\SYSTEM\my.ini ou o my.cnf, no diretório de dados do servidor.
Captura de tela do arquivo de configuração do MySQL
Os exemplos usados, neste texto, refletem uma instalação típica do MySQL no Ubuntu 14.04 LTS — mas podem ser adaptados a outras distribuições ou sistemas operacionais sem muito esforço.

O arquivo de configuração do MySQL

A melhor maneira de conhecer os arquivos de configuração é in loco e é isto que vamos fazer aqui.
As linhas que começam com # ou com ; (ponto-e-vírgula) são linhas de comentários e não têm efeito algum na execução.

# opções gerais de conexão pro cliente
[client]
host=localhost
user=mysql_user
password=mysql_user_pass
# opções específicas da execução do mysql
[mysql]
no-auto-rehash
# opções específicas do modo interativo do mysql
pager=/usr/bin/less

Entenda o arquivo de configuração do mysql

O arquivo de configuração é composto de várias linhas, em que as opções e parâmetros de execução da conexão ao servidor MySQL são definidas.
As linhas são organizadas em grupos — cada qual contendo configurações concernentes a um detalhe da conexão.
Conheça outros fatos sobre o arquivo de configurações:

  • A primeira linha de cada grupo de opções de configurações contém o nome do grupo dentro de colchetes — como é possível observar no exemplo, onde há 2 grupos: [client] e [mysql].
  • Dentro de cada grupo, as opções se organizam, uma em cada linha. Algumas aceitam parâmetros adicionais, outras não.
    Exemplo: a opção no-auto-rehash, do grupo [mysql], dispensa qualquer parâmetro adicional.
  • Certas opções podem ficar em branco, para deixar o arquivo mais enxuto.
    Por exemplo, a opção host, pode ficar em branco caso você sempre se conecte ao localhost.
  • A linha referente ao username também pode ser omitida, no caso de você usar o mesmo login do Linux no MySQL.
  • Embora você possa abreviar opções na linha de comando, apenas as formas completas devem ser usadas dentro do arquivo de configurações.
    Por exemplo, na linha de comando, é possível usar ambas as variações, que seguem: -h localhost e --host=localhost.
    Dentro do arquivo de configurações, somente a forma host=localhost, como exemplo, é aceitável.
  • Nem todas as opções são referentes à conexão. A opção pager serve para informar qual programa de paginação deve ser usado dentro do modo interativo do MySQL, quando você estiver listando dados.
  • As opções de conexão especificadas no grupo [mysql], dentro do arquivo de configurações, são compartilhadas por outros clientes, como o mysqldump e o mysqladmin. Ou seja, o arquivo facilita mais do que você imagina…
  • O arquivo comporta a possibilidade de adicionar grupos específicos para outros programas clientes MySQL, como os já citados, mysqldump e mysqladmin. Para isto, crie novos grupos com os respectivos nomes dos programas.
  • Para inserir um comentário, comece a linha com um # ou ;.
  • Se você inserir opções duplicadas ou redundantes no arquivo, a última é que será levada em consideração.
  • Os arquivos de configuração precisam estar em formato de texto puro (atenção usuários Windows). Portanto, evite usar processadores de texto para editar ou criá-los.
  • Opções e parâmetros referentes a caminhos para outros arquivos ou programas, devem usar o caractere separador / , mesmo no Windows.

No terminal Linux ou em uma conexão SSH, é possível usar o seguinte comando para determinar quais opções estão valendo para execução da conexão ao MySQL:

mysql --print-defaults

Você também pode usar o aplicativo my_print_defaults para obter informações sobre a configuração vigente.
O exemplo abaixo permite ver a configuração padrão ativa (em uma máquina Ubuntu), dos grupos [client] e [mysql]:

my_print_defaults --defaults-file=/etc/mysql/my.cnf client mysql
--port=3306
--socket=/var/run/mysqld/mysqld.sock

Por fim, para criar uma cópia do arquivo padrão do sistema em seu diretório pessoal, use o seguinte comando:

cp /etc/mysql/my.cnf ~/my.cnf

Faça as alterações desejadas, nesta versão, se quiser. Se algo der errado, basta copiar novamente o arquivo.
Se você estiver tendo dificuldades para encontrar o arquivo de opções do MySQL, use o comando find:

sudo find / -iname my.cnf | grep my.cnf

Como esconder o seu arquivo de configuração dos curiosos

É natural que você queira ser discreto com informações como o seu nome de usuário e sua senha.
No Linux, há um método razoavelmente eficaz, que consiste em alterar as permissões do arquivo, com o comando CHMOD:
Entre no diretório em que se encontra o arquivo de configuração do MySQL e digite o seguinte comando:

chmod 600 my.cnf

Com este comando, o arquivo será passível de leitura apenas por você.

By Elias Praciano

Autor de tecnologia (livre, de preferência), apaixonado por programação e astronomia.
Fã de séries, como "Rick and Morty" e "BoJack Horseman".
Me siga no Twitter e vamos trocar ideias!

2 replies on “Use o arquivo de configuração para se conectar mais fácil ao MySQL”

O arquivo de controle para o Linux é o mesmo do Windows?
Entendo que o arquivo de controle é de controle do Mysql e não do SO.
É isso mesmo?
Quem dá suporte ao Mysql independe do Sistema Operacional. Certo?

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.