[Erste Schritte mit MySQL] (2) Externe Remote-Verbindung zur MySQL-Datenbank

[Erste Schritte mit MySQL] (2) Externe Remote-Verbindung zur MySQL-Datenbank

Dieser Artikel basiert auf Ubuntu 20.04 LTS und MySQL 8.0.29.

Externe Remote-Verbindungsmethode der MySQL-Datenbank

  1. Terminalterminal:mysql -h x.x.x.x -P 3306 -u root -p密码
  2. Verwalten Sie, indem Sie über Navicat, phpMyAdmin und andere Datenbankverwaltungssoftware eine Verbindung zur MySQL-Datenbank herstellen.
  3. Toolkits für Programmiersprachen wie Python und Java stellen eine Verbindung zu MySQL-Datenbanken her.

Wenn von außen kein Zugriff auf Ihr MySQL möglich ist, beheben Sie das Problem bitte anhand der folgenden drei Aspekte:

1. Bindungsadresse der MySQL-Konfigurationsdatei

Verwenden Sie zunächst netstat -ntpl | grep 3306die Adresse, auf die der Testdatenbank-Port lauscht:

# 如果显示127.0.0.1则说明端口只监听了本地地址,所以远程无法访问。
tcp        0      0 127.0.0.1:3306            0.0.0.0:*               LISTEN      -   
# 如果0.0.0.0则说明端口监听所有地址,远程可以访问该端口。
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -   

Wenn der MySQL-Port nur 127.0.0.1 überwacht, lautet die Lösung:
Suchen Sie die MySQL-Konfigurationsdatei. Mein Pfad besteht darin, MySQL zu /etc/mysql/mysql.conf.d/mysqld.cnf
finden bind-address = 127.0.0.1, zu ändern bind-address = 0.0.0.0
MySQL-Konfigurationsdatei
und dann neu zu starten. sudo service mysql restart
Verwenden Sie dann netstat -ntpl | grep 3306die vom Testdatenbank-Port überwachte Adresse, um festzustellen, in welche geändert wurde 0.0.0.0:

tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -   

2. Ob das Konto externen Zugriff erlaubt

Melden Sie sich auf dem Server an, auf dem MySQL ausgeführt wird, und prüfen Sie, ob der Host des Kontos localhost ist:

# 用root账号登录
mysql -uroot -p

# 使用mysql数据库
USE mysql

# 查看user表
SELECT host,user FROM user;
# 如果user的host为'localhost'则仅限本地访问,'%'就是所有主机都可连接'

# 更改host
UPDATE user SET host='%' WHERE user='root';

#更改完刷新权限或重启MySQL
flush privileges;
sudo service mysql restart

3. Ob der Datenbankport geöffnet ist

  1. Ob die Firewall den 3306-Port der Datenbank oder andere benutzerdefinierte Ports einschränkt.
  2. Ob die Sicherheitsgruppe und die Ein- und Ausgangsregeln des Cloud-Servers Port 3306 oder andere benutzerdefinierte Ports geöffnet haben.
    So telnet ip porttesten Sie, ob der Port geöffnet ist:
    Zum Beispiel, um Port 80 mit der IP-Adresse xxxx zu testen:telnet x.x.x.x 80
# 端口连通:
Trying x.x.x.x...
Connected to x.x.x.x.
Escape character is '^]'.
# 端口无法连通:
Trying x.x.x.x...
telnet: Unable to connect to remote host: Connection refused

Supongo que te gusta

Origin blog.csdn.net/qq_40039731/article/details/124675575
Recomendado
Clasificación