Como evitar o uso de senhas em texto no MySQL

Você vai ver neste artigo como usar o arquivo de opções em MySQL para evitar o uso de senhas em texto claro em nossas tarefas diárias de manutenção. A primeira coisa que você precisa saber é que as opções padrão geralmente são lidos a partir dos seguintes arquivos na ordem dada (a menos que você especifique um novo local de arquivo de opção no MySQL hora de início):

  1. /etc/my.cnf
  2. /etc/mysql/my.cnf
  3. my.cnf no DEFAULT_SYSCONFDIR especificado durante a compilação
  4. my.cnf no caminho, especificado na variável MYSQL_HOME (se houver)
  5. o arquivo especificado no --defaults-extra-file (se houver)
  6. user-home-dir/.my.cnf
Portanto, no nosso caso vamos usar a opção 6, onde vamos criar o arquivo .my.cnf e definir todos os grupos de opções para satisfazer as nossas necessidades (log in sem senha, por exemplo). Em MySQL o arquivo de opção ou o arquivo de configuração (my.cnf) vem com alguns grupos pré-definidos. O que é um grupo no arquivo de opção MySQL. -group é o nome do programa ou grupo para o qual você deseja definir opções. Depois de uma linha grupo, todas as linhas de definição de opções se aplicam ao grupo até o final do arquivo de opção ou outra linha de grupo. É bom saber que os nomes de grupo de opção não são case sensitive. Exmplo de arquivo  ~/.my.cnf
#Esta grupo de opção é lido por todos os programas de cliente
#Esta permite que você especifique as opções que se aplicam a todos os clientes
[client]
user=root
password=pass

[MySQL]
user=root
password=pass

[mysqldump]
user=root
password=pass

[mysqldiff]
user=root
password=pass
- normalmente usam este ficheiro opção ~ /.my.cnf apenas com esta opções (password) para facilitar a minha vida e também evitar passar claro senha de texto scripts ou na linha de comando MySQL. Muito importante: -Verifique que você tenha restringido o acesso a este arquivo, normalmente eu permito que só o proprietário tem direito a ler e escrever sobre ele.
[root@primary ~]# chmod 600 .my.cnf
[root@primary ~]# ls -la .my.cnf
-rw------- 1 root root 33 Mar 4 11:29 .my.cnf