Herstellen einer Verbindung zu MySQL in Bash (ohne MySQL installiert)

11

Ich versuche, eine Verbindung zu einer entfernten MySQL-Datenbank in Bash herzustellen. Auf dem Server, auf dem sich die Datenbank befindet, kann ich Folgendes eingeben:

mysql -u _username_ -p

verbinden.

Ich möchte tippen können:

mysql -h _host_ -u _username_ -p

von einem anderen Server verbinden. Ich habe MySQL nicht auf dem Client installiert, daher wird der Befehl nicht gefunden. Gibt es etwas, das ich neben dem gesamten MySQL-Server installieren kann (apt-get bevorzugt), damit ich die mysql-Befehle in bash verwenden kann?

user722307
quelle
1
apt-get install mysql-client Ich dachte, es wäre nur für den GUI-Client.
user722307
Sie können Ihre eigene Frage beantworten und nach einiger Zeit auch akzeptieren.
Enzotib

Antworten:

21

Um den Befehlszeilen-MySQL-Client zu installieren, gehen Sie wie folgt vor:

sudo apt-get install mysql-client

und dann kannst du tun

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

Möglicherweise müssen Sie jedoch die Einrichtung des MySQL-Servers ändern. Standardmäßig akzeptiert der MySQL-Server unter Ubuntu nur Verbindungen vom lokalen Server. Die Einstellung wird aufgerufen bind-addressund in gesetzt /etc/mysql/my.cnf. Standardmäßig ist dies 127.0.0.1- Sie sollten es in die IP-Adresse des Servers ändern. Wenn der Server mehrere IP-Adressen hat, können Sie nur eine IP-Adresse auswählen (z. B. für das interne Netzwerk) oder MySQL alle IP-Adressen abhören lassen, indem Sie den Wert festlegen0.0.0.0

Sie müssen auch sicherstellen, dass der MySQL-Benutzer auf die Datenbank zugreifen kann. Wenn Sie den Anweisungen im Internet folgen, haben Sie möglicherweise einen Benutzer erstellt. Dieser Benutzer kann keine 'myname'@'localhost'Remoteverbindung herstellen. Um einen neuen Benutzer zu erstellen, der über Ihre Client-IP-Adresse eine Verbindung herstellen kann, müssen Sie Folgendes tun:

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

Lesen Sie etwas mehr über die Adressspezifikation, die MySQL verwendet .

Vergessen Sie nicht, sicherzustellen, dass die Server-Firewall den Zugriff auf den MySQL-Port ermöglicht - der Standardwert ist 3306.

Hamish Downer
quelle