MySQL Externer Zugriff
Posted: Fri 26. Jan 2018, 12:29
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:
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:
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'.
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/
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
...
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'.