Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Remote-Mysql-Zugriff

Wenn Sie vollen Zugriff auf Ihren Server haben (Root-Rechte erforderlich):

Schritt 1:Bearbeiten Sie my.cnf (normalerweise in /etc)

Suchen Sie die folgende Zeile:[mysqld] und stellen Sie sicher, dass Zeile skip-networking kommentiert wird (oder Zeile entfernen) und folgende Zeile hinzufügen:

bind-address=YOUR-SERVER-IP

Wenn Ihre MySQL-Server-IP beispielsweise 66.166.170.28 lautet, sollte der gesamte Block wie folgt aussehen:

[mysqld]
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
language        = /usr/share/mysql/English
bind-address    = 66.166.170.28
# skip-networking
.......

Wo

  • bind-Adresse :IP-Adresse, an die gebunden werden soll.
  • Netzwerk überspringen :Überhaupt nicht auf TCP/IP-Verbindungen lauschen. Alle Interaktionen mit mysqld müssen über Unix-Sockets erfolgen. Diese Option wird dringend für Systeme empfohlen, in denen nur lokale Anforderungen zulässig sind. Da Sie eine Fernverbindung zulassen müssen, sollte diese Zeile aus my.cnf entfernt oder in den Kommentarstatus versetzt werden.

Schritt 2:Allen Hosts Zugriff gewähren

Starten Sie den MySQL-Monitor mit diesem Befehl:mysql oder /usr/local/mysql/bin/mysql . Ihr Shell-Prompt sollte jetzt so aussehen:mysql> . Führen Sie diesen Befehl aus:

GRANT ALL PRIVILEGES ON *.* TO 'USERNAME'@'%' IDENTIFIED BY "PASSWORD";

Wo:

  • BENUTZERNAME ist der Benutzername, den Sie verwenden, wenn Sie sich mit Ihrem PHP-Skript verbinden.
  • PASSWORT ist das Passwort, das Sie beim Verbinden verwenden.

Sie müssen jetzt die MySQL-Privilegien leeren. Führen Sie diesen Befehl aus:

FLUSH PRIVILEGES;

Führen Sie diesen Befehl aus, um MySQL zu beenden:

exit;

Schritt 3:MySQL-Daemon neu starten

/etc/init.d/mysqld restart

oder

/etc/init.d/mysql restart

abhängig davon, welche Linux-Distribution derzeit auf Ihrem Server ausgeführt wird.