J'ai créé un utilisateur user@'%'
avec password 'password
. Mais je ne peux pas me connecter avec:
mysql_connect('localhost:3306', 'user', 'password');
Lorsque j'ai créé l'utilisateur user@'localhost'
, j'ai pu me connecter. Pourquoi? «%» Ne signifie-t-il pas de N'IMPORTE QUEL hôte?
mysql
remote-access
user2333586
la source
la source
Réponses:
Pour vous connecter à distance, vous devez avoir le port de liaison MySQL 3306 à l'adresse IP de votre machine dans my.cnf. Ensuite, vous devez avoir créé l'utilisateur à la fois dans localhost et dans le caractère générique '%' et accorder des autorisations sur toutes les bases de données en tant que telles . Voir ci-dessous:
my.cnf (my.ini sous Windows)
puis
ensuite
En fonction de votre système d'exploitation, vous devrez peut-être ouvrir le port 3306 pour autoriser les connexions à distance.
la source
mysql.default_port = <private instance port>
dans mon php.ini, puis utilisées127.0.0.1
tout au long de mon nom d'hôte dbSuivez les instructions (les étapes 1 à 3 ne sont pas nécessaires dans Windows):
Trouvez la configuration mysql à modifier:
Rechercher
bind-address=127.0.0.1
dans le changement de fichier de configurationbind-address=0.0.0.0
(vous pouvez définir l'adresse de liaison à l'une de vos interfaces IP ou comme moi, utilisez 0.0.0.0)Redémarrez le service mysql exécuté sur la console:
service restart mysql
Créez un utilisateur avec un mot de passe sécurisé pour la connexion à distance. Pour ce faire, exécutez la commande suivante dans mysql (si vous êtes un utilisateur Linux pour accéder à la console mysql
mysql
et si vous définissez le mot de passe pour l'exécution rootmysql -p
):Vous devriez maintenant avoir un utilisateur avec le nom
user
et le mot de passe desafe_password
avec une capacité de connexion à distance.la source
pour quel DB est l'utilisateur? regardez cet exemple
donc pour revenir à vous interroger l'opérateur "%" signifie tous les ordinateurs de votre réseau.
comme aspesa montre, je suis également sûr que vous devez créer ou mettre à jour un utilisateur. recherchez tous vos utilisateurs mysql:
dès que vous avez configuré votre utilisateur, vous devriez pouvoir vous connecter comme ceci:
J'espère que ça aide
la source
code
mysql_connect ('localhost: 3306', 'utilisateur', 'mot de passe');code