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'.