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