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