Verschiedene Möglichkeiten zum Verbinden eines Remote-MySQL-Servers mit Ubuntu
- Verschiedene Möglichkeiten zum Verbinden eines Remote-MySQL-Servers mit Ubuntu
- Stellen Sie zur Datenmanipulation eine Verbindung vom Ubuntu 20.04-Clientcomputer zum Ubuntu 20.04-Servercomputer her
- Stellen Sie eine Verbindung vom Ubuntu 20.04-Clientcomputer zum Ubuntu 20.04-Servercomputer her, um den Server zu starten, zu stoppen und neu zu starten
Heute lernen wir, wie man mit Ubuntu eine Verbindung zu einem Remote-MySQL-Server herstellt, um Daten zu manipulieren und den MySQL-Server zu starten und zu stoppen.
Verschiedene Möglichkeiten zum Verbinden eines Remote-MySQL-Servers mit Ubuntu
- Vom Ubuntu 20.04-Clientcomputer zum Ubuntu 20.04-Servercomputer für die Datenbearbeitung
- Von Ubuntu 20.04-Clientmaschine zu Ubuntu 20.04-Servermaschine, um MySQL Server zu stoppen/starten
Stellen Sie zur Datenmanipulation eine Verbindung vom Ubuntu 20.04-Clientcomputer zum Ubuntu 20.04-Servercomputer her
Verbinden Sie sich mit einem benutzerdefinierten Benutzer
Hier erfahren Sie, wie Sie einen benutzerdefinierten Benutzer verbinden, der sich auf einem Remote-MySQL-Server befindet. Wir haben einen Benutzer namens mehvish
auf dem Remote-MySQL-Server erstellt und ihm alle Privilegien gewährt.
mysql> CREATE USER "mehvish"@"%" IDENTIFIED BY "PASSWORD";
#here % sign shows that this user can be connected remotely
Um eine Verbindung zu einem entfernten MySQL-Server herzustellen, muss auf unserem Rechner ein mysql-client
installiert sein. Bei Microsoft Windows 10 wird der mysql-client
bei der Installation des MySQL-Servers automatisch mitinstalliert.
Sie können diesem Artikel für die MySQL-Installation auf dem Client-Rechner folgen.
Um eine Remote-Verbindung herzustellen, benötigen wir die IP-Adresse eines Hostcomputers, auf dem der MySQL-Server gehostet wird, den Benutzernamen und das Passwort dieses bestimmten Benutzerkontos. Um diese IP-Adresse abzurufen, verwenden wir den Befehl ip a
oder ifconfig
auf Ubuntu, wo sich der MySQL-Server befindet.
Sobald wir die IP-Adresse, den Benutzernamen und das Passwort kennen, können wir den folgenden Befehl verwenden, um eine Verbindung zu einem Remote-MySQL-Server herzustellen.
# Syntax
# mysql -h hostIP -u username -p password
$ mysql -h 192.168.56.102 -u mehvish -p ******
Sie erhalten höchstwahrscheinlich die folgende Fehlermeldung, wenn Sie zum ersten Mal versuchen, eine Remote-Verbindung herzustellen.
ERROR 2003 (HY000): Can't connect to MySQL server on '10.0.2.15:3306' (10060)
Um diesen Fehler zu beseitigen, müssen wir die Konfigurationsdatei auf dem MySQL-Server ändern. Wir verwenden den vim
Texteditor, um die Konfigurationsdatei zu bearbeiten, aber Sie können jede Ihrer Wahlen verwenden.
$ sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
Suchen Sie nach dem Öffnen der Datei die Bind-Adresse
im Abschnitt [mysqld]
und kommentieren Sie diese wie im folgenden Screenshot angegeben. Warum kommentieren wir die Option bind-address
?
Der MySQL-Server lässt aufgrund seines Standardverhaltens keine Remote-Verbindungen zu; es lässt nur den localhost
mit dem MySQL-Server verbinden. Kommentieren Sie deshalb die Bind-Adresse
und erlauben Sie einem entfernten Client-Rechner, eine Verbindung mit dem MySQL-Server herzustellen.
Alternativ können wir Folgendes tun, anstatt die bind_address
zu kommentieren.
- Wir können den Wert von
bind-address
von127.0.0.1
auf0.0.0.0
ändern. - Wenn es keine
bind-address
-Option gibt, können wirskip-networking
undskip-bind-address
schreiben.
Wir können die folgenden Optionen verwenden, um die Konfigurationsdatei mit dem Texteditor vim
zu bearbeiten und zu speichern.
- Drücken Sie I, um die Datei zu bearbeiten.
- Drücken Sie Esc, um den Bearbeitungsmodus zu verlassen.
- Drücken Sie Esc, geben Sie
:w
ein und drücken Sie Enter, um die Datei zu speichern. - Drücken Sie Esc, geben Sie
:q
ein und drücken Sie Enter, um die Datei zu verlassen. - Drücken Sie Esc, geben Sie
:wq
ein und drücken Sie Enter, um die Datei in einem Schritt zu speichern und zu beenden. - Drücken Sie Esc, geben Sie
:q!
ein und drücken Sie Enter, um die Datei zu verlassen und alle Änderungen zu verwerfen.
Wir müssen den Dienst auf der Maschine, auf der der MySQL-Server gehostet wird, wie folgt neu starten.
$ sudo systemctl restart mysql
Verwenden Sie nun den folgenden Befehl erneut, um sich erfolgreich mit dem Benutzerkonto mehvish
zu verbinden, das sich auf dem Remote-MySQL-Server befindet. Denken Sie daran, dass wir die folgende Abfrage auf unserem lokalen Computer verwenden.
$ mysql -h 192.168.56.102 -u mehvish -p ******
Verbinden Sie sich mit einem root
-Benutzer
Bevor wir in die Details eintauchen, prüfen wir, ob der Benutzer root
die Remote-Verbindungen akzeptiert. Wir können den folgenden Befehl auf Ubuntu verwenden, wo unser MySQL-Server gehostet wird.
mysql> SELECT USER, HOST from mysql.user;
Ausgang:
Haben Sie gesehen, dass der Benutzer root
nur von localhost
aus verbunden werden kann? Wir müssen den Fernzugriff gewähren, indem wir die folgenden Befehle verwenden, um eine Fernverbindung herzustellen.
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';
mysql> UPDATE mysql.user SET host='%' WHERE user='root';
Starten Sie außerdem den MySQL-Server mit dem folgenden Befehl neu.
$ sudo systemctl restart mysql
Überprüfen Sie nun, ob der Benutzer root
die Remote-Verbindungen akzeptiert oder nicht. Sehen Sie, der Host des Benutzers root
auf dem Servercomputer ist %
, was zeigt, dass wir eine Remoteverbindung zum Root-Konto herstellen können.
Jetzt können wir den root
-Benutzer von unserem lokalen Rechner verbinden, indem wir die folgende Abfrage verwenden, um Daten zu lesen/schreiben.
$ mysql -h 192.168.56.102 -u root -p ******
Was ist, wenn wir den MySQL-Server starten, stoppen und neu starten möchten? Dazu müssen wir uns in der Shell des MySQL-Servers befinden, was bedeutet, dass wir uns so verbinden müssen, dass die Shell des Servers auf unserem Computer geöffnet wird.
Wie können wir das machen? Sehen wir uns das folgende Kapitel an.
Stellen Sie eine Verbindung vom Ubuntu 20.04-Clientcomputer zum Ubuntu 20.04-Servercomputer her, um den Server zu starten, zu stoppen und neu zu starten
Wir müssen die angegebenen Schritte befolgen, um einen Remote-Server über eine sichere Shell (auch Secure Socket Shell genannt) zu verbinden.
-
Installieren Sie
ssh
, um den Shell-Zugriff auf den MySQL-Server zu erhalten, der auf der Ubuntu-Maschine gehostet wird. -
Jetzt konfiguriere das
ssh
. Öffnen Sie dann das Terminal auf Ihrem Hostcomputer (lokaler Computer) und geben Sie die richtigen Anmeldeinformationen ein, um eine Verbindung zum Remoteserver herzustellen.Abhängig von Ihrer Situation können Sie eine der folgenden Optionen verwenden.
2.1. Verwenden Sie den Befehl
ssh remote_host
. Es ist am einfachsten und wird verwendet, wenn wir auf den Remote- und lokalen Computern denselben Benutzernamen haben.
2.2. Verwenden Siessh remote_username@remote_host
, wenn der Benutzername auf einem entfernten Computer anders ist als auf dem lokalen Computer. Dadurch erhalten Sie Zugriff auf die Shell des Servercomputers. -
Wir können die folgenden Befehle verwenden, um gemäß den Anforderungen zu funktionieren.
MySQL-Server starten:
$ sudo systemctl start mysql
Beenden Sie den MySQL-Server:
$ sudo systemctl stop mysql
MySQL-Server neu starten:
$ sudo systemctl restart mysql
Überprüfen Sie den Status des MySQL-Servers:
$ sudo systemctl status mysql
Denken Sie daran, dass der MySQL-Server auf Ihrer Seite mysqld
heißt, dann müssen Sie möglicherweise den folgenden Befehl verwenden.
$ sudo /etc/init.d/mysql restart