Mysql o mysqldump sense posar contrasenya
Moltes vegades ens pot ser útil poder accedir al nostre servidor MySQL sense haver de posar la contrasenya. Un dels millors exemples és per fer una còpia de la base de dades amb mysqldump sense haver de posar la contrasenya a la línia de comandes de la nostra tasca, cosa que és força insegura, per què qualsevol usuari que aconseguís accés a l nostre servidor podria veure-la.
Per aconseguir el nostre propòsit hem de seguir aquests passos:
Creem un perfil amb l'usuari que necessitem:
mysql_config_editor set --login-path=local --host=localhost --user=usuari --password
Ens demanarà la contrasenya i la desarà.
Un cop creat el perfil al executar el mysql o mysqldump li hem de passar el paràmetre –login-path=local enlloc de --user i –password. Per exemple:
mysqldump --login-path=local --opt la_meva_bbdd > la_meva_bbdd.sql
Podem fer tants perfils com necessitem i per veure el que tenim podem fer:
mysql_config_editor print --all
Per executar en un script al crontab haurem d'afegir al comencament del fitxer la línia per definir el fitxer de credencials que hem creat:
export MYSQL_TEST_LOGIN_FILE=/usuari/.mylogin.cnf
*Nota Important: El mysqldyump te un bug i no funcionarà correctament si el paràmetre --login-path no és el primer.