Maison >développement back-end >Problème PHP >Comment résoudre le problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS7

Comment résoudre le problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS7

PHPz
PHPzoriginal
2023-04-13 09:20:09800parcourir

Lors de l'utilisation du système d'exploitation CentOS 7, nous pouvons rencontrer le problème que MySQL ne peut pas se connecter à PHP. En effet, CentOS 7 entraîne un conflit entre MariaDB et MySQL, entraînant l'impossibilité de se connecter à la base de données. Cet article vous expliquera comment résoudre le problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS 7.

1. Désactivez MariaDB

  1. Afin d'éviter les conflits avec MariaDB, nous devons d'abord la désactiver. Vous pouvez utiliser la commande suivante :

    systemctl stop mariadb.service # Arrêtez le service MariaDB

    systemctl verify mariadb.service # Désactivez le service MariaDB

  2. Après la désactivation, nous devons confirmer que le service MariaDB a été arrêté. Vous pouvez utiliser la commande suivante :

    systemctl status mariadb.service # Vérifiez l'état du service MariaDB

    Si l'état est inactif, cela signifie que le service Mariadb a été arrêté.

2. Installez MySQL

  1. Installez les dépendances MySQL :

    yum -y install wget

    yum -y install net-tools

  2. Téléchargez le package d'installation de MySQL :

    wget https://dev .mysql.com/get/mysql57-community-release-el7-11.noarch.rpm

  3. Installer MySQL :

    rpm -ivh mysql57-community-release-el7-11.noarch.rpm

    yum installer mysql -community-server

  4. Une fois l'installation terminée, démarrez MySQL :

    systemctl start mysqld

    systemctl activate mysqld

3. Modifiez la configuration MySQL

  1. Connectez-vous à MySQL :

    mysql -u root -p

    Entrez le mot de passe

  2. Modifiez le fichier de configuration MySQL :

    vim /etc/my.cnf

  3. Ajoutez le contenu suivant sous la configuration [mysqld] :

    skip-grant-tables

    Mot de passe d'initialisation :

    utilisez mysql;

    mettre à jour l'ensemble d'utilisateurs authentification_string=password('password') où user='root';

    flush privilèges;

    quit;

  4. Modifier skip-grant-tables dans le fichier de configuration pour le contenu suivant :

    skip-grant-tables

    skip-character-set-client-handshake

  5. Redémarrez le service MySQL :

    Redémarrez le service MySQL

    systemctl restart mysqld

4. Modifiez le Fichier de configuration PHP

  1. Modifiez le fichier de configuration PHP :

    vim /etc/php.ini

  2. Recherchez mysql.default_socket ou mysqli.default_socket et remplacez-le par l'adresse du fichier de socket MySQL :

    mysql.default_socket = /var/lib/mysql/ mysql.sock

    mysqli.default_socket = /var/lib/mysql/mysql.sock

    pdo_mysql.default_socket = /var/lib/mysql/mysql.sock

  3. Enregistrez les modifications et quittez .

5. Test de connexion

  1. Entrez le code suivant dans le terminal (le nom d'utilisateur et le mot de passe doivent être modifiés par vous-même) :

    $con = mysqli_connect("localhost","username" ,"password") ;
    if ($con)
    {

    die('Could not connect: ' . mysqli_error());

    }
    echo 'Connecté avec succès';
    mysqli_close($con);
    ?>

  2. Enregistrez le fichier dans le répertoire racine d'Apache et accédez-y via le document du navigateur.

Si la connexion est réussie, cela signifie que vous pouvez maintenant vous connecter à la base de données MySQL via PHP. Si le test échoue, veuillez vérifier les étapes ci-dessus et rechercher à nouveau le problème.

Résumé :

Ce qui précède est la solution au problème selon lequel MySQL ne peut pas se connecter à PHP dans CentOS 7. J'espère que cela pourra aider les étudiants dans le besoin. Si vous avez d'autres questions, veuillez laisser un message pour en discuter.

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