MySQL- Sicherung ohne Passwort im Script

Nach dem ich nun nieder geschrieben hatte, wie ich meine SQL-Datenbanken automatisch sichere, kamen einige gute Anregungen in den Kommentaren. Darauf hin habe ich das System etwas umgestellt. Dazu wurde zu allererst der Storage vom root auf einen User übertragen. Somit konnte ich auch den Cronjob für den User einrichten. Der Eintrag, wie im ersten Artikel „MySQL-Sicherung“ in /etc/crontab wurde wieder entfernt. und der Cron neu gestartet.

Als eingeloggter User habe ich dem selbigen mit

folgenden Befehl eingetragen.

Dann wurde eine ~/.my.cnf

mit entsprechendem Inhalt erstellt. Diese enthält das MySQL root Passwort.

„meinpasswort“ musste hier natürlich angepasst werden. Nach dem Abspeichern wurden der Datei die Rechte 600 vergeben.

Im Anschluss habe ich ein neues Script mit dem Inhalt

erstellt und dieses mit

ausführbar gemacht. Um die Datenbanken besser auseinander halten zu können, bekamen alle Datenbanken dieses Mal ein separates Verzeichnis.

Nun werden die Datenbank-Sicherungen jeden Morgen 2:00 Uhr in von einander getrennten Verzeichnissen komprimiert abgelegt.

Der Servercow-Storage wurde mit der Nextcloud-App „External Storage“ in die Cloud eingebunden und die Sicherungen landen so regelmäßig auf meinem Notebook.

MySQL-Sicherung

Inspiriert durch den Artikel „Backup oder Datensicherung eines root-Servers / vServers / VPS„von Bitblokes habe ich mir Gedanken gemacht, wie ich meine MySQL-Datenbanken vernünftig und regelmäßig sichern kann. Die Snapshots von Servercow sind schon sehr gut, um ein Backup des ganzen Servers zu erstellen. Jedoch ist man hin und wieder auf eine einzelne Datenbank angewiesen.

Da ich bei Servercow einen zusätzlichen RAID5 HDD-Netzwerkspeicher von 150 GB und diesen in meine Nextcloud eingebunden habe, kann ich dort bequem meine Datenbanksicherungen ablegen. Bei jeder Synchronisation zu Hause, landen dann die Sicherungen auf meinem Notebook. 

Da ich bisher meine Datenbanken manuell mit mysqldump durchgeführt habe, wollte ich das Ganze nun automatisieren.

Dazu wurde das Script MySQLscript.sh

mit folgendem Inhalt erstellt.

Dabei ist „in**********“ der Name meiner ersten Datenbank. Der Eintrag „meinpasswort“ im Script muss natürlich durch das MySQL root Passwort ersetzt werden. 

Im Anschluss wird das Script ausführbar gemacht

und der Befehl mit 

in den crontab eingetragen.

So wird nach dem Neustart von Cron jeden Tag um 2:00 Uhr eine Sicherung jeder einzelnen Datenbank im Verzeichnis /samba_share/backup abgelegt.

Uberspace und MariaDB 10.0

PhpMyAdmin-Logo.svg

Im Dezember 2015 hatte ich meinen ersten Versuch gewagt mit meiner Seite zu Uberspace umzuziehen. Schnell musste ich feststellen, dass das Backup meiner alten MySQL 5.5 Datenbank sich nicht beim neuen Hoster meiner Wahl einspielen ließ. Der Grund hierfür lag in der von CentOS 6 eingesetzten MySQL 5.1. Da es hier zwar einige unschöne Lösungsansätze mit MariaDB 10.0 gab, die mich ehrlich gesagt etwas abschreckten, ließ ich meinen Uberspace-Account wieder löschen.

Im Januar hatte ich gelesen, dass die Betreiber auf Wunsch nun MariaDB 10.0 für Uberspace-User einrichten. Also registrierte ich mich erneut und bat den Support via Mail, um die Einrichtung einer zu MySQL 5.5 kompatiblen MariaDB 10.0 Datenbank. Inzwischen kann man dies aber selbst erledigen (siehe: https://blog.uberspace.de/mehr-fur-selbermacher/).

Leider konnte über das vorinstallierte phpMyAdmin nicht auf die MariaDB-Datenbank, welche auf einem separaten Host liegt, zugegriffen werden. Backups erstellen und einspielen ging bzw. geht selbstverständlich problemlos über die Konsole.

Nun habe ich jedoch phpMyAdmin wie folgt für meinen Account installiert und konfiguriert.

Nach dem einloggen via SSH wird das erforderliche Paket aus dem Netz geladen.

Dieses wird entpackt

und nach /var/www/virtual/$USER/html/phpmyadmin verschoben.

Die phpMyAdmin-4.5.1-all-languages.zip wird, da nicht mehr benötigt, nun wieder gelöscht.

Nun wechselt man in das phpMyAdmin-Verzeichnis und kopiert die Beispielkonfiguration, um diese dann entsprechend noch anzupassen.

Hier wird dann die Zeile

durch

ersetzt. Dabei sollte „password“ durch ein selbst zu vergebendes Passwort ausgetauscht werden.

Die Zeile

wird durch diese beiden, durch Host und Port angepassten,

ausgetauscht. Zum Schluss wird mit mit Ctrl + o und Enter gespeichert und der Editor mit Ctrl + x wieder verlassen.

Nun sollte man über https://“Uberspace-Benutzername“.“Uberspace-Servername“.uberspace.de/phpmyadmin Zugriff auf die Datenbank erlangen.

Meine Datenbank kann ich nun bequem grafisch sichern, rücksichern und bearbeiten.

Zu erwähnen wäre noch, dass mit der Einführung von CentOS 7 bei Uberspace MariaDB 10.0 Standard und diese Anleitung hinfällig wird.

Viel Spaß!