MySQL : résoudre l’erreur “mysql_connect(): Headers and client library minor version mismatch”

Après la mise à jour vers MySQL 5.6, certaines applications peuvent renvoyer l’avertissement PHP suivant :

PHP Warning: mysql_connect(): Headers and client library minor version mismatch. Headers:50535 Library:50617
icon-mysql

C’est le cas lorsqu’une application est liée à l’utilisation d’une version spécifique de libmysqlclient18 alors qu’elle est connectée à un serveur MySQL qui tourne sur une version différente.

C’est libmysqlclient18 qui renvoie cet avertissement mais dans certains cas, cela peut impacter l’application et tient plus de l’erreur que de l’avertissement.

MySQL Native Driver

La solution est toute simple : il suffit d’utiliser le pilote MySQL Native Driver php5-mysqlnd au lieu du paquet php5-mysql.

Les avantages de php5-mysqlnd sont multiples : il vient en remplacement de php5-mysql, n’est pas lié à la librairie libmysqlclient, ne renvoie pas d’avertissement “version mismatch” et possède pas mal d’autres caractéristiques intéressantes.

Installer le paquet mysqlnd

Pour installer mysqlnd, il suffit de lancer:

apt-get install php7.4-mysqlnd

Résultat :

The following packages will be REMOVED:
  php-mysql
The following NEW packages will be installed:
  php-mysqlnd

L’installation relance les services PHP dépendants de l’extension mais je vous conseille également de relancer MySQL :

service mysql restart
service apache2 restart

Testé et approuvé.

Vous voulez un site WordPress ou WooCommerce qui soit à la fois rapide et performant? Vous êtes au bon endroit.

Découvrez comment je peux booster votre site »

Articles conseillés :

3 pensées sur “MySQL : résoudre l’erreur “mysql_connect(): Headers and client library minor version mismatch””

  1. Salut à toi,
    Grand merci pour cette astuce ! Je ne savais pas mais là elle m’a fortement aidé !

    Très bonne continuation !
    Kéro @progerance

    Reply

Opinions