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.
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çãono-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çãohost
, pode ficar em branco caso você sempre se conecte aolocalhost
. - 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 formahost=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ê.
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?
Agora, não tenho nenhuma máquina Windows, para testar isso. Mas, em princípio, deve ser a mesma coisa.