


Comment corriger les erreurs mysql_native_password non chargé sur MySQL 8.4
L'un des changements majeurs introduits dans MySQL 8.4 (le dernier LTS sortie à partir de 2024), c'est que le plugin "MySQL Native Password" n'est pas n'est plus activé par défaut. De plus, MySQL 9.0 supprime ce plugin complètement.
Ce changement affecte PHP et d'autres applications qui utilisent la base de données MySQL avec le plugin d'authentification mysql_native_password. Étant donné que le plugin mysql_native_password n'est plus chargé par défaut ou n'est pas disponible du tout, les connexions PHP PDO/MySQLi échouent.
Lors de la tentative de connexion à la base de données à l'aide du plugin mysql_native_password qui n'est plus chargé, PDO/MySQLi renvoie l'erreur renvoyée par MySQL :
PDO :
SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded
MySQLi :
mysqli_sql_exception Plugin 'mysql_native_password' is not loaded.
Sur MySQL 8.0.34 à 8.3, l'utilisation du plugin mysql_native_password entraînait avertissements consignés dans le journal des erreurs MySQL :
[Warning] [MY-013360] [Server] Plugin mysql_native_password reported: ''mysql_native_password' is deprecated and will be removed in a future release. Please use caching_sha2_password instead'
MySQL 8.4 apporte la modification pour ne plus charger le plugin mysql_native_password, ce qui entraîne les erreurs indiquées ci-dessus. Sur MySQL 9.0, le plugin mysql_native_password est complètement supprimé, ce qui entraîne également les mêmes erreurs.
PHP prend en charge l'authentification caching_sha2_password depuis PHP 7.4. Pour corriger cette erreur, remplacez le plugin d'authentification de l'utilisateur MySQL par caching_sha2_password.
Liste des utilisateurs MySQL à l'aide de mysql_native_password
Sur une console MySQL, exécutez la commande suivante pour répertorier les utilisateurs utilisant le plugin d'authentification obsolète :
SELECT user, host, plugin from mysql.user WHERE plugin='mysql_native_password';
L'exécution de la commande ci-dessus devrait répertorier tous les utilisateurs qui utilisent mysql_native_password plugin :
Mettre à jour les utilisateurs de mysql_native_password vers caching_sha2_password
Sur une console MySQL avec les autorisations suffisantes, exécutez la commande suivante sur chaque utilisateur utilisant le plugin mysql_native_password :
ALTER USER ''@'' IDENTIFIED WITH caching_sha2_password BY '';
Une fois le plugin d'authentification mis à jour, PHP et d'autres applications pourront se connecter à la base de données via le plugin caching_sha2_password.
Réactivez le plugin de mot de passe natif MySQL
Bien que MySQL 8.4 n'active plus le plugin mysql_native_password par défaut, il est toujours possible d'activer ce plugin. Il n'est pas recommandé de le faire sauf si l'application PHP exécute PHP 7.3 ou des versions antérieures, où elle ne peut pas utiliser le plugin caching_sha2_password.
Pour activer le plugin mysql_native_password, ajoutez ce qui suit à la section [mysqld] du fichier Fichier de configuration MySQL et redémarrez le service du serveur MySQL.
Sur les systèmes basés sur Debian/Ubuntu, ce fichier se trouve dans /etc/mysql/ répertoire. Il est recommandé de créer un nouveau fichier (nommé /etc/mysql/conf.d/enable-mysql-native-password.cnf par exemple) pour cela.
SQLSTATE[HY000] [1524] Plugin 'mysql_native_password' is not loaded
Notez que le plugin mysql_native_password est retiré dans MySQL 9.0, donc l'ajout de la configuration ci-dessus ne fonctionne pas et peut provoquer une erreur de configuration car la configuration mysql_native_password n'est plus valide sur MySQL 9.0.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds











Laravel est un cadre PHP pour la création facile des applications Web. Il fournit une gamme de fonctionnalités puissantes, notamment: Installation: Installez le Laravel CLI globalement avec Composer et créez des applications dans le répertoire du projet. Routage: définissez la relation entre l'URL et le gestionnaire dans Routes / web.php. Voir: Créez une vue dans les ressources / vues pour rendre l'interface de l'application. Intégration de la base de données: fournit une intégration prête à l'emploi avec des bases de données telles que MySQL et utilise la migration pour créer et modifier des tables. Modèle et contrôleur: le modèle représente l'entité de la base de données et le contrôleur traite les demandes HTTP.

MySQL et PHPMyAdmin sont de puissants outils de gestion de la base de données. 1) MySQL est utilisé pour créer des bases de données et des tables et pour exécuter des requêtes DML et SQL. 2) PHPMYADMIN fournit une interface intuitive pour la gestion des bases de données, la gestion de la structure de la table, les opérations de données et la gestion de l'autorisation des utilisateurs.

Par rapport à d'autres langages de programmation, MySQL est principalement utilisé pour stocker et gérer les données, tandis que d'autres langages tels que Python, Java et C sont utilisés pour le traitement logique et le développement d'applications. MySQL est connu pour ses performances élevées, son évolutivité et son support multiplateforme, adapté aux besoins de gestion des données, tandis que d'autres langues présentent des avantages dans leurs domaines respectifs tels que l'analyse des données, les applications d'entreprise et la programmation système.

Résumé de l'article: Cet article fournit des instructions détaillées étape par étape pour guider les lecteurs sur la façon d'installer facilement le cadre Laravel. Laravel est un puissant cadre PHP qui accélère le processus de développement des applications Web. Ce didacticiel couvre le processus d'installation des exigences du système à la configuration des bases de données et à la configuration du routage. En suivant ces étapes, les lecteurs peuvent jeter rapidement et efficacement une base solide pour leur projet Laravel.

Dans MySQL, la fonction des clés étrangères est d'établir la relation entre les tables et d'assurer la cohérence et l'intégrité des données. Les clés étrangères maintiennent l'efficacité des données grâce à des contrôles d'intégrité de référence et aux opérations en cascade. Faites attention à l'optimisation des performances et évitez les erreurs courantes lorsque vous les utilisez.

La principale différence entre MySQL et MARIADB est les performances, les fonctionnalités et la licence: 1. MySQL est développé par Oracle, et MariADB est sa fourche. 2. MariaDB peut mieux fonctionner dans des environnements à haute charge. 3.MariaDB fournit plus de moteurs et de fonctions de stockage. 4.MySQL adopte une double licence et MariaDB est entièrement open source. L'infrastructure existante, les exigences de performance, les exigences fonctionnelles et les coûts de licence doivent être pris en compte lors du choix.

SQL est un langage standard pour gérer les bases de données relationnelles, tandis que MySQL est un système de gestion de bases de données qui utilise SQL. SQL définit les moyens d'interagir avec une base de données, y compris les opérations CRUD, tandis que MySQL implémente la norme SQL et fournit des fonctionnalités supplémentaires telles que les procédures stockées et les déclencheurs.

Résumé du premier paragraphe de l'article: Lors du choix du logiciel pour développer des applications de framework YI, plusieurs facteurs doivent être pris en compte. Bien que les outils de développement d'applications mobiles natifs tels que Xcode et Android Studio puissent offrir un contrôle et une flexibilité solides, les cadres multiplateformes tels que React Native et Flutter deviennent de plus en plus populaires avec les avantages de pouvoir se déployer sur plusieurs plates-formes à la fois. Pour les développeurs nouveaux dans le développement mobile, les plates-formes à faible code ou sans code telles que Appsheet et Glide peuvent créer rapidement et facilement des applications. De plus, les fournisseurs de services cloud tels que AWS Amplify et Firebase fournissent des outils complets
