Page 1 of 1

MySQL Externer Zugriff

Posted: Fri 26. Jan 2018, 12:29
by xKushGene
Guten Tag, ich habe bereits die Schritte wie hier (viewtopic.php?t=32) beschrieben befolgt, komme aber nicht auf das gewünschte Ergebnis.

Das Ziel ist eben, auf die MySQL Datenbanken extern zugreifen zu können und nicht nur über Localhost.
Zuerst navigierte ich nach /etc/mysql/my.cnf um zu sehen, welche Dateien included werden:

Code: Select all

[client-server]

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/
Anschließend navigierte ich nach /etc/mysql/conf.d/
Der Inhalt dieses Ordners ist:
mariadb.cnf, mysql.cnf und mysqldump.cnf
in der mysql.cnf befindet sich nur [mysql] und mehr nicht.

Also navigierte ich nach /etc/mysql/mariadb.conf.d/ worin ich dann folgende Dateien fand:

50-client.cnf
50-mysql-clients.cnf
50-mysqld_safe.cnf
50-server.cnf
90-tuning.cnf

in der 50-server.cnf befinden sich dann der Inhalt der eigentlichen my.cnf:

Code: Select all

...
[mysqld]

#
# * Basic Settings
#
user		= mysql
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
port		= 3306
basedir		= /usr
datadir		= /var/lib/mysql
tmpdir		= /tmp
lc-messages-dir	= /usr/share/mysql
skip-external-locking

# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address		= 0.0.0.0

...
Wie man sieht, habe ich die bind-address bereits auf 0.0.0.0 geändert und anschließend den MySQL Service neugestartet aber weiterhin ohne Erfolg.

Dann habe ich in phpmyadmin mit dem mysqladmin Account die Benutzerkonten angepasst und ihnen bei Anmeldeinformation den Hostname "Jeder" gegeben (@%). Den alten (localhost) Account habe ich die Rechte entzogen und gelöscht.

Aber nun kann ich mich trotzdem nur noch über localhost verbinden.

Eine weitere Frage wäre noch, wie / wo ich einstellen kann, dass jeder neu erstellte Datenbank Nutzer direkt die externe IP als Host bekommt und nicht localhost ?

Was ich auch nicht verstehe ist, dass ich den alten Benutzer (als Beispiel 'meindbaccount@localhost') lösche, da ich ja nun den neuen habe ('meindbaccount@%'). Wenn ich mich aber mit dem Account einlogge steht bei phpmyadmin bei Benutzer immer noch 'meindbaccount@localhost'.

Re: MySQL Externer Zugriff

Posted: Fri 26. Jan 2018, 14:22
by Martin
Hallo,

wurde auch daran gedacht den Port 3306 in der Firewall (Allow Chain, über der REJECT Regel) hinzuzufügen? Anderenfalls ist der Port Firewallseitig geschlossen.

Re: MySQL Externer Zugriff

Posted: Sat 27. Jan 2018, 16:01
by xKushGene
Martin wrote: Fri 26. Jan 2018, 14:22 Hallo,

wurde auch daran gedacht den Port 3306 in der Firewall (Allow Chain, über der REJECT Regel) hinzuzufügen? Anderenfalls ist der Port Firewallseitig geschlossen.
Also mit der Firewall habe ich mich bisher gar nicht auseinandergesetzt. Ich habe die Regel nun wie folgt hinzugefügt:
Aber weiterhin ohne Erfolg.
Image

Re: MySQL Externer Zugriff  [GELÖST]

Posted: Sat 27. Jan 2018, 16:07
by b0snaX
Hallo,

die Regel muss über der REJECT regel stehen.

Re: MySQL Externer Zugriff

Posted: Sun 28. Jan 2018, 13:41
by xKushGene
b0snaX wrote: Sat 27. Jan 2018, 16:07 Hallo,

die Regel muss über der REJECT regel stehen.
Vielen Dank, das hat funktioniert.
Bei Protokoll habe ich noch TCP genutzt (hoffe das ist richtig, auf jeden Fall funktioniert es nun).