1. Externen Datenbankzugriff erlauben
SQL-Statement „SHOW VARIABLES;“ in PhpMyAdmin ausführen und schauen ob „skip-networking“ auf OFF steht.
Steht „skip-networking“ auf ON muss folgende Datei in Linux editiert werden:
etc/my.cnf (my.conf )
Suche in my.cnf „skip-networking“ und kommentiere die Anweisung: „#skip-networking“
2. Einem DB-Benutzer das Recht zum externen Zugriff geben
In PhpMyAdmin unter „Rechte“ -> „Anmelde-Informationen“ einem Benutzer neben dem Recht „localhost“ auch „Jeder Host“ vergeben. Der Benutzer sollte in der Benutzerübersicht anschließend zweimal mit den entsprechenden Rechten erscheinen.
3. MySQL-Server neu starten
Zum Beispiel im Parallels Infrastructure Manager unter „Systemdienste“ den Dienst „mysqld“ neu starten.
4.Prüfen ob externer Zugriff auf die Datenbank möglich ist
In eine Dos-Box folgendes eingeben:
telnet meine-domain.tld 3306
Kommt es hier zu einer Fehlermeldung sollten Firewall-Einstellungen überprüft werden.
5. Externer Zugriff mit Php
Mit folgendem Beispiel kann die externe Verbindung überprüft werden:
$db = „db-name“; //Name der Datenbank
$host = „domain.tld“; //Hostname zum externen Datenbankserver
$dbuser = „user“; //Benutzername
$pw = „pass“; //Passwort
echo „Externe Verbindung zu Datenbank: „.$db.“<br>\n“;
$con = mysql_connect($host,$dbuser,$pw);
if (!$con) { die(‚keine Verbindung möglich: ‚ . mysql_error()); }
mysql_select($db, $con) or die („Konnte Datenbank nicht finden!<br>“ . mysql_error());
echo „Verbindung zu Datenbank „.$db.“ okay.“;
Es kann zu Problemen mit local-infile beim Einlesen einer externen Datenquelle kommen.
Am Besten phpMyAdmin auf dem Zielsystem öffnen und versuchen eine lokale csv-Datei mit „CSV mit LOAD DATA“ und „verwende LOCAL“ hochzuladen.
Sollte die Fehlermeldung „The used command is not allowed with this MySQL version“ ausgegeben werden, ist mySQL dafür noch nicht freigegeben.
Es muss die /etc/my.cnf editiert und im Bereich [mysqld] folgendes eingefügt werden: „local-infile = 1“.
Anschließend mysql mit dem Schalter „local-infile“ neu starten: mysql –local-infile
Alternativ reicht auch „set-variable=local-infile=1“ in der /etc/my.cnf und mysql kann ohne den Schalter neu gestarten werden.