MySQL Remote Access einrichten

Damit man außerhalb auf eine MySQL-Datenbank zugreifen kann und das ohne phpMyAdmin kann man Software für Windows, Mac oder Linux verwenden. Jeder Datenbankhersteller bietet sein eigenes Tool an, so ist dies bei MySQL zum Beispiel über die MySQL Workbench möglich. Eine Drittanbietersoftware wäre Navicat in diversen Versionen für unterschiedliche Datenbank oder dem „Premium“, die alle unter einem Dach vereint. Navicat ist allerdings nicht kostenlos erhältlich.

Diese Anleitung bezieht sich auf eine MySQL-Datenbank auf einem Debian Linux.

Schritt 1: Privilege setzen

Die Privilegien setzen. Dazu müssen wir einen SQL-Befehl via Konsole oder phpMyAdmin absetzen. Dieser lautet:

Man sollte dies allerdings nicht auf dem root-User anwenden.

  • database.* bedeutet auf alle Tabellen in der Datenbank database. Ein *.* ist ebenfalls möglich.
  • user ist der Benutzer auf den diese Rechte angewendet werden.
  • % ist der Bereich, die Domain, IP. %.domain.com oder 192.168.0.% sind möglich, % bedeutet, egal woher.
  • newpassword ist das Passwort des Benutzers user.

Schritt 2: IP-Binding anpassen

Eine weitere Schutzmaßnahme kommt out-of-the-box daher. In der Datei /etc/mysql/my.cnf gibt es unter der Sektion [mysqld] den Eintrag:

Nun gibt es zwei Möglichkeiten:

  1. Diese Zeile auskommentieren mit einer # als erstes Zeichen, dass ermöglicht allen IP-Adressen den Zugriff von außerhalb.
  2. Einfach eine weitere IP-Adresse „binden“. Habt ihr keine statische IP in eurem Netzwerk ändert sich diese aber z.B. beim Neustart. Dafür kommt wirklich nur ihr auf die Datenbank.

Schritt 3: Neustart

Ggf. muss der mysql-Dienst neugestartet werden, dies passiert unter Linux mit dem Befehl:

Fertig!

phpMyAdmin Passwort vergessen, was nun?

Heute ist es passiert und so schnell kann es gehen. Nach ewig langer Zeit hab ich ein Image auf die microSD vom Raspberry Pi eingespielt und musste mich in die Datenbank einloggen. Doch auch wenn man über den Benutzer root meistens reinkommen sollte stellt sich die Frage nach dem Passwort. Es gibt aber eine Möglichkeit das Passwort herauszufinden. Dazu folgende Zeile im Terminal tätigen:

Wer noch ein paar andere Infos braucht, für den ist folgender Befehl sicherlich auch hilfreich:

Ich hoffe es hilft euch.