MySQL-Skripts ohne Passwort

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Wer Backups einer MySQL-Datenbank machen möchte, braucht dafür Username und Passwort. Moderne MySQL-Versionen bringen ein Tool mit, das das Hinterlegen der Credentials in Skripten vermeiden hilft. 

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. 

23.03.2018
comments powered by Disqus

Artikel der Woche

Systeme mit Vamigru verwalten

Auch wer nur kleine Flotten von Linux-Servern verwaltet, freut sich über Werkzeuge, die ihm diese Arbeit erleichtern. Vamigru tritt mit diesem Versprechen an. Wir verraten, was es leistet und wie Sie es in der eigenen Umgebung in Betrieb nehmen. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Container

Wie setzen Sie Container ein?

  • Gar nicht
  • Docker standalone
  • Docker mit Kubernetes
  • Docker mit Swarm
  • Docker mit anderem Management
  • LXC/LXD
  • Rocket
  • CRI-O auf Kubernetes
  • Container auf vSphere
  • Andere (siehe Kommentare auf der Ergebnisseite)

Google+

Ausgabe /2018

Microsite