MySQL Remote-Access aktivieren
Nach der Installation von MySQL und phpmyadmin wollte ich das erste Projekt auf meinem lokalen Server umsetzen. Es wäre schön, wenn einmal alles auf Anhieb funktionieren würde - aber das war natürlich nicht der Fall.
Beim Versuch über folgendes PHP-Script eine einfache Verbindung zum MySQL-Server aufzubauen erhielt ich eine Fehlermeldung.
<?php $servername = "makesmart-server"; $username = "cooper"; $password = "cooper_pw"; $db = "db_cloud"; // Verbindung aufbauen $conn = new mysqli($servername, $username, $password, $db); // Verbindung prüfen if ($conn->connect_error) { die("FEHLER BRO: " . $conn->connect_error); }?>
Ausgabe:
FEHLER BRO: Connection refused
Der Grund für die Verweigerung der Verbindung ist ziemlich einfach:
Es werden nur Zugriffe von 127.0.0.1 zugelassen, also vom localhost. Nur der Server selbst kann auf den MySQL-Server zugreifen.
Um zusätzlich Verbindungen außerhalb des Servers zuzulassen, muss die Konfiguration vom MySQL-Server bearbeitet werden
Anleitung
Zuerst brauchen wir die IP-Adresse oder den Hostnamen des Servers. Ich verwende in dieser Anleitung den Hostnamen. Dieser bleibt in meinem Netzwerk beständig.
hostname -I> 192.168.178.84
hostname> makesmart-server
Sobald wir die Daten haben, muss die besagte Konfiguration bearbeitet werden:
sudo nano /etc/mysql/my.cnf
Fügt am Ende folgende Zeile ein:
bind-address = makesmart-server
Zu guter Letzt muss der MySQL-Server neugestartet werden:
sudo service mysql restart
Nach dieser Änderung Erhalte ich folgende Meldung beim Aufruf meines PHP-Scripts:
… also gar nichts, weil die Verbindung schließlich aufgebaut werden konnte.
Viel Spaß bei euren Projekten,
cooper