Remote Access auf MySQL Server erlauben

Aus bknowledgebase
Zur Navigation springen Zur Suche springen

Einleitung[Bearbeiten]

Hier wird kurz erklärt, wie man bestimmten Datenbankusern Remote-Zugriff auf die MySQL Datenbank gewähren kann. Hierbei werde ich im Beispiel auf einem Debian Server arbeiten und einen neuen User anlegen und diesem die entsprechenden Rechte gewähren. Das Vorgehen lässt sich dann sehr leicht auf andere Systeme Übertragen.

Unter Debian MySQL-Config anpassen[Bearbeiten]

Zunächst muss in der datei my.cnf die "bind-address Direktive" angepasst werden.

Die Datei findet ihr unter Debian hier:

/etc/mysql/my.cnf

oder unter Red Hat/Fedora oder Centos hier:

/etc/my.cnf

und unter FreeBSD hier:

/var/db/mysql/my.cnf


Diese Datei nun bearbeiten Beispielsweise mit:

nano /etc/mysql/my.cnf


Und die Zeile ensprechend bearbeiten.

Wenn euer Server die Adresse 192.168.66.66 hat, muss folgendes in der Config-Datei stehen:

bind-address = 192.168.66.66


Jetzt noch den Mysql Service neustarten. (z.B.)

Service mysql restart

User Anlegen und dem User das Recht geben, sich von Lokal oder aber jeder anderen IP Adresse aus anzumelden[Bearbeiten]

An Mysql-Server anmelden, z.B via Shell in Debian mit:

mysql -u <username> -p


Datenbanken anzeigen, falls name nicht bekannt

SHOW DATABASES;


Datenbank "mysql" auswählen und aktuelle User anzeigen um Überblick zu bekommen.

USE mysql;

und

Select host,user,password from user;


Nehmen wir nun an wir wollen dem user remoteuser Vollzugriff auf die Datenbank mydb geben und er darf sowohl vom Server direkt als auch von jeglichen IP-Adressen Zugreifen. Dazu folgende 2 Befehle ausführen.

GRANT ALL ON mydb.* TO remoteuser@'localhost' IDENTIFIED BY 'PASSWORD';

GRANT ALL ON mydb.* TO remoteuser@'%' IDENTIFIED BY 'PASSWORD';


Beachte: Vollzugriff sollte nicht jeder Benutzer haben. Hier können auch eingeschränkte Rechte gewährt werden. Dazu "RTFM" :)

Privilegien im Arbeitsspeicher updaten[Bearbeiten]

FLUSH PRIVILEGES;

Happy Hacking