Was ist MySQL und warum ein Fernzugriff erforderlich sein könnte
MySQL ist ein bekanntes Datenbankverwaltungssystem. Der häufig verwendete Fall – Datenbank und andere Projektdateien werden auf demselben Server gespeichert. Daher ist es normal, den Zugriff nur vom lokalen Host aus einzuschränken. Aus Sicherheitsgründen ist es nicht erforderlich, den Netzwerkzugriff zuzulassen. Wenn Sie jedoch über eine Infrastruktur mit mehreren Servern verfügen, müssen Sie die Standardeinstellungen ändern.
Voraussetzungen:
Um den Zugriff von außen auf den Datenbankserver zu ermöglichen, benötigen Sie:
- Server unter dem tatsächlichen Betriebssystem (z. B Ubuntu 20.04);
- Zugriff auf das Systemkonto „root“;
- Privilegierter Zugriff auf den Datenbankdienst oder Möglichkeit, die Datenbankberechtigung zu ändern.
Entsperren des Netzwerkzugriffs
Um „externe“ Verbindungen zum Datenbankserver zuzulassen, gehen Sie bitte wie folgt vor:
Melden Sie sich als privilegierter Benutzer bei Ihrem Server an und stellen Sie sicher, welcher Port von verwendet wird MySQL:
netstat -tlnp | grep my
Wie wir sehen, ist der Hauptport 3306. Lassen wir ihn herein firewall Einstellungen:
ufw allow 3306
Suchen Sie die Konfigurationsdatei, deren Abhöradresse deklariert ist:
grep -r "bind" /etc/mysql/
Ersetzen Bindeadresse Setzen Sie den Direktivenwert auf 0.0.0.0 und überprüfen Sie das Ergebnis:
sed -i.bak -e 's/127.0.0.1/0.0.0.0/g' /etc/mysql/mysql.conf.d/mysqld.cnf
cat /etc/mysql/mysql.conf.d/mysqld.cnf | grep bind
Starten Sie den Dienst neu:
service mysql restart
Der nächste Schritt ist optional. Sie können sich als vorhandener Benutzer in der Datenbank authentifizieren oder einen neuen Benutzer erstellen und ihm Berechtigungen gewähren:
mysql # enter to the service
CREATE USER <username>; # new account creation
ALTER USER <username> IDENTIFIED WITH mysql_native_password BY '<password>'; # set password
GRANT ALL ON testdb.* TO remoteuser; # grant permissions
FLUSH PRIVILEGES; # apply privileges
Zugriffskontrolle
Um das Ergebnis zu überprüfen, melden Sie sich an der Remote-Serverkonsole an und führen Sie Folgendes aus:
mysql -h <database_server_IP> -u<login> -p
Geben oder fügen Sie dann Ihr Datenbankkennwort ein, um es in den Datenbankserver zu „fallen“.
Jetzt können Sie sich z. B. den Datenbankinhalt ansehen:
show databases;
show tables in <database_name>;
select * from <database_name>.<table_name>;
Zusammenfassung
Nachdem Sie diesen Artikel gelesen hatten, wussten Sie, wie Sie auf externe Verbindungen zugreifen können MySQL Server und verwalten Sie Ihre Daten aus der Ferne.