Heim > Datenbank > MySQL-Tutorial > Hauptteil

Wie führe ich eine Remote-Verbindungs- und Zugriffskontrolle in MySQL durch?

PHPz
Freigeben: 2023-07-29 21:10:55
Original
1609 Leute haben es durchsucht

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.

  1. Ändern Sie die MySQL-Konfigurationsdatei

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
Nach dem Login kopieren

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
Nach dem Login kopieren

Speichern und schließen Sie die Datei und starten Sie dann den MySQL-Dienst neu, damit die Änderungen wirksam werden.

sudo service mysql restart
Nach dem Login kopieren
  1. Fernzugriffsberechtigungen erteilen

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
Nach dem Login kopieren

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';
Nach dem Login kopieren

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'@'%';
Nach dem Login kopieren

Aktualisieren Sie die Systemberechtigungstabelle.

FLUSH PRIVILEGES;
Nach dem Login kopieren

Beenden Sie den MySQL-Befehlszeilen-Client.

EXIT;
Nach dem Login kopieren
  1. Konfigurieren Sie die Firewall

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
Nach dem Login kopieren

Wenn der Standardport von MySQL nicht geöffnet ist, können Sie den Port mit dem folgenden Befehl öffnen.

sudo ufw allow 3306
Nach dem Login kopieren
  1. Remoteverbindung herstellen

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()
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!