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
Libérer: 2024-12-14 01:30:10
original
977 Les gens l'ont consulté

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
    Copier après la connexion
  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';
    Copier après la connexion
  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;
    Copier après la connexion

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
    Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal