Problème :
Lors de la tentative pour se connecter à distance à un serveur MySQL, les utilisateurs rencontrent l'erreur "L'hôte 'xxx.xx.xxx.xxx' n'est pas autorisé à se connecter à ce serveur MySQL serveur", malgré les autorisations utilisateur appropriées dans la base de données.
Cause possible :
Cette erreur provient souvent de précautions de sécurité ou d'autorisations utilisateur mal configurées.
Solution :
1. Ajouter un nouveau compte administrateur :
Créez un compte administrateur dédié avec accès restreint :
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass'; mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost' -> WITH GRANT OPTION;
2. Modifier les autorisations des utilisateurs existants :
Modifiez les autorisations de l'utilisateur « root » existant, en lui accordant moins de privilèges et en restreignant l'accès à un hôte spécifique :
mysql> REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%'; mysql> GRANT SELECT, UPDATE ON table_name TO 'root'@'specific_ip';
3. Supprimer les autorisations génériques :
Supprimez toutes les entrées utilisateur de la base de données qui contiennent des caractères génériques (%) ou (_). Remplacez-les par des valeurs d'hôte spécifiques.
4. Flush Privileges :
Après avoir apporté des modifications aux autorisations utilisateur, n'oubliez pas d'émettre une instruction FLUSH PRIVILEGES pour actualiser les tables d'attribution :
mysql> FLUSH PRIVILEGES;
Remarque :
Il n'est généralement pas conseillé d'accorder des privilèges excessifs (par exemple, TOUS LES PRIVILÈGES SUR .) aux utilisateurs qui ne nécessitent qu'un accès limité. Pensez à accorder uniquement les autorisations minimales nécessaires à leurs rôles spécifiques.
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!