Connexion à MySQL dans Bash (sans MySQL installé)

11

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?

user722307
la source
1
apt-get install mysql-client Je pensais que c'était uniquement pour le client GUI.
user722307
Vous pouvez répondre à votre propre question, et après un certain temps, vous pouvez également l'accepter.
enzotib

Réponses:

21

Pour installer le client MySQL en ligne de commande, vous devez:

sudo apt-get install mysql-client

et ensuite vous pouvez faire

mysql -h HOST -P PORT_NUMBER -u USERNAME -p

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-addresset défini /etc/mysql/my.cnf. Par défaut, c'est le cas 127.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:

GRANT ALL PRIVILEGES ON database_name TO 'username'@'192.168.0.51' IDENTIFIED BY 'password';

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.

Hamish Downer
la source