Plesk – Regelmäßiger Dump der mySQL-Datenbanken in ein Verzeichnis – Teil 2

Hier habe ich erklärt, wie man alle mySQL-Datenbanken z.B. per Cronjob regelmäßig in ein Verzeichnis exportiert. Das klappte auch prima bis zu dem Moment, als ich auf mySQL 5.6 upgedated habe. Seitdem bekomme ich immer wenn der Cronjob läuft eine Mail mit diesem Inhalt:

Warning: Using a password on the command line interface can be insecure.

Das ganze ist natürlich nervig, darum musste eine Lösung her. Zunächst mal habe ich das Skript geringfügig geändert. Statt Benutzernamen steht jetzt hier nur noch –login-path=local

#!/bin/bash
for db in $(mysql --login-path=local -e 'show databases' -s --skip-column-names); do
if [[ "$db" != *schema* && "$db" != *phpmyadmin* && "$db" != "event" && "$db" != "psa" && "$db" != "mysql" ]]; then
mysqldump --login-path=local $db | bzip2 -c > /root/backup/mysql/$db.sql.bz2
fi
done

Nur das Skript alleine reicht aber noch nicht – jetzt muss man noch mit dem Befehl mysql_config_editor den Zugriff für einen Benutzer einrichten. Unter Plesk bietet sich hier der Admin-User an, oder man legt extra einen hierfür an.

mysql_config_editor set --login-path=local --host=localhost --user=admin --password

Wenn der Befehl nicht ausgeführt werden kann, muss man eventuell vorher noch den mySQL-Config-Editor nachinstallieren. Das erledigt dann der Befehl:

apt-get install libmysqlclient-dev

Und schon gibt es wieder eine regelmäßige Sicherung der Datenbanken!

2 Kommentare

  1. Larsen Doe

    Hallo Thomas,

    das von Plesk in „/etc/psa/.psa.shadow“ gespeicherte MySQL-Passwort enthält ja mehrere Dollar-Zeichen. Ich habe bisher keinen Weg gefunden, wie ich dieses Passwort bei „mysql_config_editor set“ angeben muss, damit ich danach mit dem Login Path auf MySQL zugreifen kann.

    In https://bugs.mysql.com/bug.php?id=74482 ist beschrieben, dass es Probleme mit Hash-Zeichen gibt, die dann in Anführungszeichen gesetzt werden können. Dies gilt aber anscheinend nicht für Dollar-Zeichen.

    Du hattest keine Probleme mit den Dollar-Zeichen?

    Antworten
    1. Thomas Weiland

      Kleine Ergänzung: hatte das Problem jetzt auch bei einem Server. Habe dann einfach Beim mysql_config_editor set einen neuen Benutzernamen angegeben (den es noch nicht im System gab), da ein Passwort eingegeben und mit den Daten dann per phpMyAdmin (gestartet aus Plesk) einen entsprechenden User angelegt. Vielleicht hilft dir dieses Vorgehen weiter.

      Antworten

Schreiben Sie einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.