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?
Antworten:
Um den Befehlszeilen-MySQL-Client zu installieren, gehen Sie wie folgt vor:
und dann kannst du tun
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-address
und in gesetzt/etc/mysql/my.cnf
. Standardmäßig ist dies127.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: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.
quelle