J'écris un script bash pour sauvegarder mes bases de données. La plupart sont postgresql, et dans postgres il y a un moyen d'éviter d'avoir à s'authentifier en créant un fichier ~ / .pgpass qui contient le mot de passe postgres. Je l'ai mis dans le répertoire personnel de root et je l'ai créé chmod 0600, afin que root puisse vider les bases de données postgres sans avoir à s'authentifier. Maintenant, je veux faire quelque chose de similaire pour mysql, même si je n'ai qu'une seule base de données mysql. Comment puis-je faire ceci? Je ne veux pas spécifier le mot de passe sur la ligne de commande pour mysqldump car cela fait partie d'un script qui pourrait être quelque peu visible par les autres utilisateurs. Existe-t-il un meilleur moyen (c'est-à-dire intégré à mysql) de faire cela que de créer un fichier que seul root peut lire puis lire pour obtenir le mot de passe mysql, puis l'utiliser dans le script bash comme variable?
8
Réponses:
Créez un
~/.my.cnf
fichier pour l'utilisateur exécutant mysql. Il doit contenir les éléments suivants:la source