Heim > Datenbank > MySQL-Tutorial > Hauptteil

Warum wird mir die Berechtigung verweigert, wenn ich von Localhost aus eine Verbindung zu MySQL herstelle?

DDD
Freigeben: 2024-11-02 16:54:29
Original
789 Leute haben es durchsucht

Why Am I Getting

Verbindung zu MySQL konnte nicht hergestellt werden: Berechtigung verweigert

Beim Versuch, mit PHP eine Verbindung zu einer MySQL-Datenbank herzustellen, kann ein Fehler mit der Meldung „Berechtigung“ auftreten bestritten." Dieser Fehler kann entweder in der Befehlszeile oder beim Zugriff auf ein Skript über einen Webserver wie localhost auftreten.

Insbesondere, wenn versucht wird, von localhost aus mit dem folgenden Skript eine Verbindung zu einer Datenbank herzustellen:

<code class="php">$host = '155.30.136.20';
$user = 'abc_user';
$pass = 'xxxxxxxxx';
$dbname = 'welcome';
$link = mysqli_connect($host, $user, $pass,$dbname);

// Connection checks and error handling omitted for brevity</code>
Nach dem Login kopieren

Der Fehler „Fehler: Verbindung zu MySQL konnte nicht hergestellt werden. Debugging-Fehlernummer: 2002 Debugging-Fehler: Berechtigung verweigert“ kann auftreten. Dieser Fehler weist darauf hin, dass der Benutzer nicht über die erforderlichen Berechtigungen verfügt, um eine Verbindung zur Datenbank herzustellen.

Der Grund für diese Diskrepanz zwischen der Befehlszeile und der Ausführung auf dem lokalen Host könnte mit den Sicherheitsrichtlinien von SELinux zusammenhängen. Standardmäßig ist die Richtlinie httpd_can_network_connect_db deaktiviert, wodurch verhindert wird, dass der Webserver eine Verbindung zu Remote-Datenbanken herstellt.

Um dieses Problem zu beheben, führen Sie die folgenden Schritte aus:

  1. Überprüfen Sie den SELinux-Status, indem Sie getsebool ausführen -a | grep httpd.
  2. Wenn httpd_can_network_connect_db „Aus“ ist, aktivieren Sie es, indem Sie „setsebool -P httpd_can_network_connect_db 1“ ausführen.

Nachdem Sie diese Änderungen vorgenommen haben, sollte der Webserver in der Lage sein, eine Verbindung zu herzustellen die Datenbank, ohne dass der Fehler „Berechtigung verweigert“ auftritt.

Das obige ist der detaillierte Inhalt vonWarum wird mir die Berechtigung verweigert, wenn ich von Localhost aus eine Verbindung zu MySQL herstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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!