J'essaie de me connecter à une base de données MySQL distante dans Bash. Sur le serveur hébergeant la base de données je peux taper:
mysql -u _username_ -p
se connecter.
Je voudrais pouvoir taper:
mysql -h _host_ -u _username_ -p
pour se connecter à partir d'un autre serveur. Je n'ai pas MySQL installé sur le client donc la commande n'est pas trouvée. Y a-t-il quelque chose que je peux installer (apt-get préféré) en plus de l'ensemble du serveur MySQL afin que je puisse utiliser les commandes mysql dans bash?
Réponses:
Pour installer le client MySQL en ligne de commande, vous devez:
et ensuite vous pouvez faire
Cependant, vous devrez peut-être modifier la configuration du serveur MySQL. Par défaut sur ubuntu, le serveur MySQL n'acceptera que les connexions du serveur local. Le paramètre est appelé
bind-address
et défini/etc/mysql/my.cnf
. Par défaut, c'est le cas127.0.0.1
- vous devez le remplacer par l'adresse IP du serveur. Si le serveur a plusieurs adresses IP, vous pouvez choisir une seule adresse IP (par exemple pour le réseau interne) ou demander à MySQL d'écouter toutes les adresses IP en faisant la valeur0.0.0.0
Vous devrez également vous assurer que l'utilisateur MySQL peut accéder à la base de données. En suivant les instructions sur Internet, vous avez peut-être créé un utilisateur
'myname'@'localhost'
- cet utilisateur ne pourra pas se connecter à distance. Pour créer un nouvel utilisateur qui peut se connecter à partir de l'adresse IP de votre client, vous devez faire quelque chose comme:En savoir plus sur la spécification d'adresse utilisée par MySQL .
Enfin, n'oubliez pas de vous assurer que le pare-feu du serveur permettra l'accès au port MySQL - la valeur par défaut est 3306.
la source