Schon seit langem ist es möglich, die Zugangsdaten für MySQL in einer Konfigurationsdatei, etwa "$HOME/.my.cnf" zu hinterlegen, wo die Credentials aber im Klartext stehen. Seit MySQL 5.6.6 wird das Tool "mysql_config_editor" ausgeliefert, das es ermöglich, mit einem Aufruf die Zugangsdaten verschlüsselt in einem File einzutragen, von wo aus sie etwa mit einem Skript verwendet werden können. So setzen Sie beispielsweise die Authentifizierungsdaten für den MySQL-Root-User:
mysql_config_editor set --login-path=devel --host=localhost --user=root --password
Der Login-Path ermöglicht es, in einer Datei mehrere verschiedene Logins zu identifizieren.
Die üblichen MySQL-Tools wurden analog dazu mit dem gleichen Parameter "--login-path" ausgestattet, der dann die Credentials aus dem File entschlüsselt und verwendet:
mysqldump --login-path=devel --databases $db > $db.sql
Wirklich sicher ist die Verschlüsselung logischerweise nicht, denn irgendwo muss der verwendete Schlüssel ja liegen. Dementsprechend haben im Internet einige Blogger vorgeführt, wie sich die Passwörter aus der Datei "~/.mylogin.conf" auslesen lassen. Kolbe Kegel von MariaDB bezeichnet das Feature gar als "Security through Complacency". Aber auch wenn das Feature im Endeffekt keine höhere Sicherheit verspricht, hilft es immerhin dabei, die Zugangsdaten aus Skripten herauszuhalten, die unter Umständen in öffentlichen Quellcode-Repositories landen.