MySQL ist ein häufig verwendetes relationales Datenbankverwaltungssystem. Um die Effizienz und den Komfort zu verbessern, müssen wir häufig in verschiedenen Umgebungen eine Remoteverbindung herstellen und auf MySQL zugreifen. In diesem Artikel wird die Durchführung einer Remoteverbindung und Zugriffskontrolle in MySQL vorgestellt und entsprechende Codebeispiele bereitgestellt.
Zunächst müssen wir die MySQL-Konfigurationsdatei ändern, um Remoteverbindungen zu ermöglichen. Suchen Sie die Datei my.cnf im MySQL-Installationsverzeichnis und öffnen Sie sie mit einem Texteditor.
sudo nano /etc/mysql/my.cnf
Suchen Sie das bind-address-Attribut in der Datei, kommentieren Sie es aus oder ändern Sie seinen Wert in 0.0.0.0. Auf diese Weise akzeptiert der MySQL-Server Remoteverbindungen von jeder IP-Adresse.
#bind-address = 127.0.0.1
Speichern und schließen Sie die Datei und starten Sie dann den MySQL-Dienst neu, damit die Änderungen wirksam werden.
sudo service mysql restart
Als nächstes müssen wir in MySQL einen Benutzer erstellen, der Fernzugriff erlaubt, und ihm die entsprechenden Berechtigungen erteilen. Öffnen Sie den MySQL-Befehlszeilen-Client.
mysql -u root -p
Geben Sie das Passwort des MySQL-Superusers Root ein und rufen Sie die MySQL-Befehlszeilenschnittstelle auf.
Erstellen Sie einen neuen Benutzer und legen Sie ein Passwort fest.
CREATE USER 'remote_user'@'%' IDENTIFIED BY 'password';
Wobei „remote_user“ der Benutzername des neuen Benutzers ist, „password“ das Passwort und % bedeutet, dass Verbindungen von jeder IP-Adresse aus zugelassen werden. Wenn Sie nur Verbindungen von einer bestimmten IP-Adresse zulassen möchten, können Sie % durch die spezifische IP-Adresse ersetzen.
Gewähren Sie diesem Benutzer Zugriff auf alle Datenbanken.
GRANT ALL PRIVILEGES ON *.* TO 'remote_user'@'%';
Aktualisieren Sie die Systemberechtigungstabelle.
FLUSH PRIVILEGES;
Beenden Sie den MySQL-Befehlszeilen-Client.
EXIT;
Wenn Sie eine Firewall auf Ihrem Server aktiviert haben, müssen Sie sicherstellen, dass der Standardport für MySQL (normalerweise 3306) geöffnet ist. Mit dem folgenden Befehl können Sie die aktuellen Firewall-Regeln anzeigen.
sudo ufw status
Wenn der Standardport von MySQL nicht geöffnet ist, können Sie den Port mit dem folgenden Befehl öffnen.
sudo ufw allow 3306
Jetzt können wir das folgende Codebeispiel verwenden, um eine Remoteverbindung zur Datenbank herzustellen.
import mysql.connector config = { 'user': 'remote_user', 'password': 'password', 'host': 'your_server_ip', 'database': 'your_database', 'raise_on_warnings': True } cnx = mysql.connector.connect(**config) cursor = cnx.cursor() # 这里可以编写具体的数据库操作代码 cursor.close() cnx.close()
Im Code müssen Sie „remote_user“ durch den Benutzernamen des zuvor erstellten Remote-Benutzers und „password“ durch das entsprechende Passwort ersetzen. „your_server_ip“ und „your_database“ werden entsprechend der tatsächlichen Situation durch die IP-Adresse des Remote-MySQL-Servers und den Namen der zu verbindenden Datenbank ersetzt.
Mit den oben genannten Schritten und Codebeispielen können wir Remote-Verbindung und Zugriffskontrolle in MySQL implementieren. Auf diese Weise können wir die MySQL-Datenbank problemlos in verschiedenen Umgebungen betreiben und die Arbeitseffizienz verbessern.
Das obige ist der detaillierte Inhalt vonWie führe ich eine Remote-Verbindungs- und Zugriffskontrolle in MySQL durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!