J'ai installé MySQL Community Edition 5.5 sur ma machine locale et je souhaite autoriser les connexions à distance afin de pouvoir me connecter à partir d'une source externe.
Comment puis je faire ça?
J'ai installé MySQL Community Edition 5.5 sur ma machine locale et je souhaite autoriser les connexions à distance afin de pouvoir me connecter à partir d'une source externe.
Comment puis je faire ça?
sudo mysql_secure_installation
. Pour info.Réponses:
Cela est autorisé par défaut sur MySQL.
Ce qui est désactivé par défaut, c'est l'
root
accès à distance . Si vous souhaitez l'activer, exécutez cette commande SQL localement:Et puis trouvez la ligne suivante et commentez-la dans votre
my.cnf
fichier, qui vit généralement sur/etc/mysql/my.cnf
les systèmes Unix / OSX. Dans certains cas, l'emplacement du fichier est /etc/mysql/mysql.conf.d/mysqld.cnf).Si c'est un système Windows, vous pouvez le trouver dans le répertoire d'installation de MySQL, généralement quelque chose comme
C:\Program Files\MySQL\MySQL Server 5.5\
et le nom de fichier seramy.ini
.Changer de ligne
à
Et redémarrez le serveur MySQL ( Unix / OSX et Windows ) pour que les modifications prennent effet.
la source
my.cnf
fichier et n'y trouvent pas debind-address
directive, notez que dans mon cas (MySQL version 14.14 sur Ubuntu 16.04.2) l'emplacement du fichier était/etc/mysql/mysql.conf.d/mysqld.cnf
Après avoir fait tout ce qui précède, je ne pouvais toujours pas me connecter à
root
distance, mais Telnetting au port a3306
confirmé qu'ilMySQL
acceptait les connexions.J'ai commencé à regarder les utilisateurs de MySQL et j'ai remarqué qu'il y avait plusieurs utilisateurs root avec différents mots de passe.
Donc, dans
MySQL
j'ai défini à nouveau tous les mots de passe pour root et je pouvais enfin me connecter à distance en tant queroot
.la source
update user set authentication_string=password('YOUR_PASSWORD') where user='root';
Juste une note de mon expérience, vous pouvez trouver le fichier de configuration sous ce chemin
/etc/mysql/mysql.conf.d/mysqld.cnf
.(J'ai lutté pendant un certain temps pour trouver ce chemin)
la source
sudo find /etc -iname 'mysql*.cnf'
Dans mon cas, j'essayais de me connecter à un serveur mysql distant sur cent OS. Après avoir traversé de nombreuses solutions (octroi de tous les privilèges, suppression des liaisons IP, activation de la mise en réseau), le problème n'était toujours pas résolu.
Il s'est avéré qu'en examinant diverses solutions, je suis tombé sur iptables, ce qui m'a fait réaliser que le port mysql 3306 n'acceptait pas les connexions.
Voici une petite note sur la façon dont j'ai vérifié et résolu ce problème.
J'espère que cela t'aides.
la source
Veuillez suivre les étapes mentionnées ci-dessous afin de définir l'accès à distance générique pour l'utilisateur MySQL.
la source
Si votre processus serveur MySQL écoute uniquement sur 127.0.0.1 ou :: 1, vous ne pourrez pas vous connecter à distance. Si vous avez un
bind-address
paramètre,/etc/my.cnf
cela peut être la source du problème.Vous devrez également ajouter des privilèges pour un non-
localhost
utilisateur.la source
127.0.0.1
?Si vous avez installé MySQL,
brew
il n'écoute vraiment que sur l'interface locale par défaut. Pour résoudre ce problème, vous devez modifier/usr/local/etc/my.cnf
et modifier lebind-address
de127.0.0.1
à*
.Ensuite, courez
brew services restart mysql
.la source
Tous les processus de connexion à distance. La connexion à distance est désactivée par défaut.Vous devez l'ouvrir manuellement pour tous les ip ... pour donner accès à tous les ip
Ip spécifique
puis
Vous pouvez vérifier votre hôte utilisateur et votre mot de passe
Maintenant, votre devoir est de changer cela
Vous pouvez le trouver sur
si vous ne trouvez pas cela là-bas, essayez ceci
commenter dans ce
Redémarrez ensuite Mysql
Profitez maintenant d'une connexion à distance
la source
Juste pour info j'ai tiré mes cheveux avec ce problème pendant des heures .. enfin j'ai appelé mon hébergeur et j'ai trouvé que dans mon cas en utilisant un serveur cloud qui dans le panneau de contrôle pour 1and1 ils avaient un pare-feu secondaire que vous devez cloner et ajouter un port 3306. Une fois ajouté, je suis entré directement ..
la source
Pour qui il en a besoin, vérifiez que le port de pare-feu 3306 est également ouvert, si votre service de pare-feu est en cours d'exécution.
la source
Ce blog Comment configurer un serveur MySQL sur un réseau local sera utile pour configurer un à
MySQL
partir de zérola source
Et pour les utilisateurs d'OS X, sachez que le paramètre bind-address est généralement défini dans le launchd plist et non dans le fichier my.ini. Donc, dans mon cas, je me suis retiré
<string>--bind-address=127.0.0.1</string>
de/Library/LaunchDaemons/homebrew.mxcl.mariadb.plist
.la source
~/Library/LaunchAgents
Si
mysqld
une adresse de liaison est définie sur une adresse de bouclage / locale (par exemple127.0.0.1
), le serveur ne sera pas accessible à partir d'hôtes distants, car une interface de bouclage ne peut être atteinte à partir d'aucun hôte distant.Définissez cette option sur
0.0.0.0
(::
pour IPv4 + 6) pour accepter les connexions de n'importe quel hôte, ou vers une autre adresse accessible en externe si vous ne souhaitez autoriser les connexions que sur une seule interface.La source
la source
L'activation de l'accès root à distance peut être dangereuse. Il serait préférable de configurer des comptes d'utilisateurs avec des autorisations plus restrictives. Les trois étapes suivantes devraient le faire.
Assurez-vous que la ligne commençant par
bind-address ...
est au moins mise en commentaire dans votre fichier my.ini ou my.cnf. S'il n'existe pas, continuez. Vous pouvez trouver ce fichier dansC:\ProgramData\MySQL\MySQL Server 8.0
Windows.Ensuite, vérifiez que le compte d'utilisateur avec lequel vous établissez la connexion n'a pas
localhost
dans le champ Limit to Hosts Matching. Bien que cela ne soit pas recommandé, vous pouvez le mettre%
à la place à des fins de test. Vous pouvez le faire en ouvrant une connexion locale au serveur avec MySQL Workbench, puis en accédant à Serveur> Utilisateurs et privilèges dans la barre de menus et en trouvant le compte d'utilisateur avec lequel vous souhaitez vous connecter.Le champ "Limiter à la correspondance des hôtes" est ce qui vous interdit de vous connecter de manière non locale. C'est-à-dire qu'il limite les connexions acceptées à un modèle d'adresses IP. Idéalement, vous devriez accéder au serveur MySQL à partir d'une adresse IP statique ou d'un sous-réseau, afin d'être aussi restrictif que possible.
la source
parfois besoin d'utiliser le nom du pc sur windows
première étape) mettre dans le fichier de configuration de mysql:
(pour laisser les connexions recibe via tcp / ip)
deuxième étape) rendre l'utilisateur dans mysql, les utilisateurs de table, avec le nom du pc sur les propriétés de windows , PAS ip
la source