Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn PHP eine Verbindung zu MySQL herstellt? Fehler 13

Was tun, wenn PHP eine Verbindung zu MySQL herstellt? Fehler 13

PHPz
PHPzOriginal
2023-03-31 10:08:431302Durchsuche

Lösungen für Fehler 13 beim Herstellen einer Verbindung zu MySQL mit PHP

Bei der Verwendung von PHP zum Herstellen einer Verbindung zu MySQL tritt manchmal Fehler 13 auf. In diesem Artikel werde ich einige Lösungen für dieses Problem vorstellen.

Erstens handelt es sich bei Fehler 13 um ein MySQL-Berechtigungsproblem. Dies kann daran liegen, dass der Benutzer beim Herstellen einer Verbindung zu MySQL nicht über ausreichende Berechtigungen verfügt, was dazu führt, dass keine Verbindung zu MySQL hergestellt werden kann. Wenn Sie dieses Problem lösen möchten, müssen Sie sich bei MySQL anmelden und dem Benutzer ausreichende Berechtigungen erteilen.

In diesem Artikel stelle ich Ihnen einige Lösungen vor:

Methode 1: Überprüfen Sie die MySQL-Berechtigungen des Benutzers, den Sie verwenden.

Wenn Sie eine MySQL-Verbindung verwenden, um in PHP auf MySQL zuzugreifen, müssen wir den MySQL-Benutzernamen und das MySQL-Passwort angeben . Standardmäßig lässt MySQL keine Verbindung für anonyme Benutzer zu. Daher müssen wir sicherstellen, dass der verwendete MySQL-Benutzer über die erforderlichen Berechtigungen verfügt.

Sie können die Berechtigungen des von Ihnen verwendeten MySQL-Benutzers überprüfen, indem Sie den folgenden Befehl verwenden:

SHOW GRANTS FOR 'username'@'localhost';

Wenn Ihr Benutzer nicht über ausreichende Berechtigungen verfügt, können Sie ihm Berechtigungen mit dem folgenden Befehl erteilen:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

Bitte beachten Sie, dass dies der Fall ist gibt Ihrem Benutzer vollen Zugriff auf alle Datenbanken und Tabellen.

Methode 2: Überprüfen Sie die Firewall-Einstellungen

In manchen Fällen kann die Firewall auch Verbindungsfehler 13 verursachen. Wenn auf Ihrem Computer eine Firewall läuft, sollten Sie sicherstellen, dass der MySQL-Port (Standard ist 3306) in den Firewall-Regeln geöffnet ist.

Sie können mit dem folgenden Befehl überprüfen, ob Ihr Port geöffnet ist:

sudo ufw status

Wenn der Port nicht geöffnet ist, können Sie den Port mit dem folgenden Befehl öffnen:

sudo ufw allow 3306/tcp

Methode drei: Ändern Sie die Bind-Adresse in der MySQL-Konfiguration file

Ein weiterer Faktor ist die Bind-Adresse in der Konfigurationsdatei des MySQL-Servers, die standardmäßig localhost ist. Wenn Sie von einem Remote-Computer aus eine Verbindung zu MySQL herstellen möchten, sollten Sie es auf 0.0.0.0 ändern.

Bitte beachten Sie, dass Sie bei Verwendung dieser Methode Ihre Firewall entsprechend konfigurieren sollten, um die Sicherheit zu gewährleisten.

Die Schritte zum Ändern der Bindungsadresse sind wie folgt:

  1. Öffnen Sie die Konfigurationsdatei mit dem folgenden Befehl:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
  1. Suchen Sie in der Datei nach dem Schlüsselwort „Bind-Adresse“ und ändern Sie es in:
bind-address = 0.0.0.0
  1. Speichern und schließen Sie die Datei und starten Sie dann den MySQL-Dienst neu:
sudo systemctl restart mysql

Dies sind einige gängige Methoden zur Behebung des PHP-Verbindungs-MySQL-Fehlers 13. Wenn Sie die oben genannten Methoden ausprobiert haben, das Problem aber immer noch nicht lösen können, sollten Sie prüfen, ob Ihre PHP- und MySQL-Versionen kompatibel sind.

Ich hoffe, dieser Artikel ist hilfreich für Sie!

Das obige ist der detaillierte Inhalt vonWas tun, wenn PHP eine Verbindung zu MySQL herstellt? Fehler 13. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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