Maison  >  Article  >  base de données  >  Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de la connexion à ma base de données à partir de Localhost ?

Pourquoi est-ce que je reçois une erreur « Autorisation refusée » lors de la connexion à ma base de données à partir de Localhost ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 13:02:02722parcourir

Why Am I Getting a

Problème de connexion à la base de données : code d'erreur 2002 (autorisation refusée)

Lors d'une tentative de connexion à une base de données, un script PHP a rencontré le erreur « TYPE d'erreur de connexion à la BASE DE DONNÉES : 2002 : autorisation refusée. » Ce problème est survenu lors de l'exécution du script depuis localhost, mais pas depuis la ligne de commande.

Après enquête, il a été découvert que l'erreur provenait des politiques de sécurité de SELinux. Par défaut, la stratégie "httpd_can_network_connect_db" est désactivée, interdisant aux serveurs Web d'établir des connexions avec des bases de données distantes.

Pour résoudre le problème :

  1. Vérifiez l'état de la stratégie à l'aide de la commande :
getsebool -a | grep httpd
  1. Si "httpd_can_network_connect_db" est réglé sur "Off", activez-le de manière permanente :
setsebool -P httpd_can_network_connect_db 1

Redémarrage du serveur Web après avoir effectué ces opérations les modifications devraient permettre des connexions réussies à la base de données à partir de localhost.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn