Wenn Applikations- und Datenbankserver auf dem gleichen Host laufen (was grundsätzlich nicht zu empfehlen ist, ausser es wird auf einem Windows Host shared-memory eingesetzt) ist MariaDB in der Regel so konfiguriert dass nur lokale Verbindungen, z.B von einer Webseite im IIS zugelassen sind. Soll nun ein weiterer Host den zentralen Datenbankserver mitbenutzen können müssen folgende Einstellungen angepasst werden:
MariaDB Server
Suchen der MariaDB Konfigurationsdatei my.ini, diese liegt in der Regel unter C:\Program Files\MariaDB "Version"\data
Hier nun den Folgenden Eintrag anpassen:
(localhost)
zu
(Alle Interfaces)
Danach muss der mySQL-Dienst neu gestartet werden. Der MariaDB Server hört nun den ebenfalls in der my.ini hinterlegten Serverport (Standard = 3306) auf allen verfügbaren IP Adressen ab.
Um dies zu kontrollieren kann das Server Logfile angeschaut werden:
Windows Firewall
Damit ein Remotehost effektiven Zugriff auf den Datenbankserver erhält muss noch der entsprechende Port in der Windows Firewall geöffnet werden (dies gilt natürlich auch für ggf. andere eingesetzte Firewalls zwischen den beiden Hosts).
- Neue Eingehende Regel erstellen
- Verbindung zulassen
- Protokolltyp = TCP
- Lokaler Port = 3306
Hier können je nachdem auch noch weitere Einschränkungen/Zulassungen eingetragen werden. Wie sinnvoll dies ist hängt aber stark von der entsprechenden Umgebung ab.
Trotzdem noch keine Verbindung möglich?
Auch wenn die beiden Hosts nun untereinander kommunizieren können heisst dies noch nicht das ein Benutzer vom Applikations- auf dem Datenbankserver einloggen kann. Der Datebank User muss entweder den entsprechenden Applikationsserver oder % als Wildcard eingetragen haben damit er auch berechtigt ist sich von einem Remotehost einzuloggen. Hier hilft ebenfalls ein Blick ins Logfile.