Maison >base de données >tutoriel mysql >Pourquoi l'hôte générique '%' de MySQL n'accorde-t-il pas automatiquement l'accès à distance ?

Pourquoi l'hôte générique '%' de MySQL n'accorde-t-il pas automatiquement l'accès à distance ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-14 01:30:10974parcourir

Why Doesn't MySQL's Wildcard Host '%' Automatically Grant Remote Access?

Accès à distance pour les utilisateurs MySQL

Lorsque vous tentez d'établir une connexion à distance à une base de données MySQL à l'aide de l'utilisateur user@'%' et du password password, la connexion échoue malgré le caractère générique % indiquant l'accès depuis n'importe quel hôte.

Raison du Échec

Le caractère générique % dans le champ hôte d'un utilisateur MySQL n'accorde pas automatiquement l'accès à distance. Pour vous connecter à distance, les étapes suivantes sont nécessaires :

  1. Lier MySQL à l'adresse IP de la machine : Configurer MySQL pour lier le port 3306 à l'adresse IP de votre machine dans my.cnf (ou my.ini sous Windows) comme suit :

    bind-address        = xxx.xxx.xxx.xxx
  2. Créer un utilisateur dans Localhost et Wildcard : Créez l'utilisateur dans les hôtes localhost et % wildcard à l'aide des commandes suivantes :

    CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
    CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
  3. Accorder des autorisations : Accorder des autorisations complètes sur tous bases de données à l'utilisateur à partir de localhost et de wildcard :

    GRANT ALL ON *.* TO 'myuser'@'localhost';
    GRANT ALL ON *.* TO 'myuser'@'%';
    FLUSH PRIVILEGES;

Considérations supplémentaires

  • En fonction de votre système d'exploitation, vous pouvez devez ouvrir le port 3306 pour autoriser les connexions à distance.
  • Assurez-vous que la configuration MySQL inclut le skip-name-resolve option pour empêcher les recherches DNS.
  • Testez la connexion à distance avec la commande suivante :

    mysql -h <hostname> -u myuser -pmypass

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