Maison >Opération et maintenance >CentOS >centos ne peut pas se connecter à la base de données en utilisant localhost
Question :
Utilisez la base de données MySQL sous le système Centos. Lorsque le nom d'hôte est 127.0.0.1, la connexion peut réussir, mais si localhost est utilisé, la connexion échouera.
Analyse :
Il existe deux options pour se connecter à la base de données mysql.
1. TCP/IP (connexion réseau)
La méthode de connexion par socket TCP/IP est une méthode de connexion fournie par MySQL sur n'importe quelle plate-forme, et c'est également la méthode la plus couramment utilisée sur le réseau. Chemin. Cette méthode établit une demande de connexion réseau sur une connexion TCP/IP. Généralement, le client est sur un serveur et l'instance MySQL est sur un autre serveur. Les deux machines sont connectées via le réseau TCP/IP
. 2. Connexion socket de domaine Unix (connexion non réseau)
Dans les environnements Linux et Unix, vous pouvez également utiliser une connexion socket de domaine Unix. Les sockets de domaine Unix ne sont pas réellement un protocole réseau, ils ne peuvent donc être utilisés que lorsque le client MySQL et l'instance de base de données se trouvent sur le même serveur. Le chemin du fichier socket peut être spécifié dans le fichier de configuration, tel que -socket=/tmp/mysql.sock.
(Tutoriel recommandé : Tutoriel d'utilisation de Centos)
Solution :
Affichez l'emplacement du fichier socket du mysql local
mysqld --verbose --help | grep socket2. Recherchez un élément similaire dans les résultats de la requête
socket /var/run/mysqld/mysqld.sock3 Dans le fichier de configuration php, recherchez l'élément suivant :
mysql.default_socket =4. :
mysql.default_socket = 找到的socket路径5. Enregistrez le fichier et redémarrez php-fpm
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!