Heim > Datenbank > MySQL-Tutorial > Der Grund, warum die MySQL-Datenbank unter Centos7 nicht remote verbunden werden kann, und die detaillierte Lösung

Der Grund, warum die MySQL-Datenbank unter Centos7 nicht remote verbunden werden kann, und die detaillierte Lösung

黄舟
Freigeben: 2017-09-21 10:47:58
Original
2074 Leute haben es durchsucht

MySQL ist ein von Oracle entwickeltes Open-Source-SQL-Datenbankverwaltungssystem. Der folgende Artikel stellt Ihnen hauptsächlich die Gründe und Lösungen vor, warum unter Centos7 keine Remoteverbindung möglich ist. Sie brauchen Freunde, die darauf verweisen können, schauen wir uns unten um.

Vorwort

Ich habe kürzlich bei der Arbeit festgestellt, dass ich unter dem Centos7-System keine Remoteverbindung herstellen konnte Ich habe die relevanten Informationen gefunden und sie schließlich gelöst. Nachdem ich auf das Problem gestoßen war, dass keine Remoteverbindung zur MySQL-Datenbank hergestellt werden konnte, habe ich die folgende Methode ausprobiert und das Problem schließlich gelöst. Ich fasse es also zusammen und teile es als Referenz für Freunde, die ebenfalls auf dieses Problem stoßen. Im Folgenden werde ich nicht viel sagen. Schauen wir uns die detaillierte Einführung an.

Es gibt zwei Gründe

  • Die Datenbank ist nicht autorisiert

  • Die Server-Firewall nicht offener Port 3306

1. Die Datenbank ist nicht autorisiert

Es gibt keine Autorisierung für die MySQL-Datenbank, nur Verwenden Sie einen Befehl.


mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;


//远程连接数据库的时候需要输入用户名和密码
用户名:root
密码:123456
指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip

输入后使修改生效还需要下面的语句
mysql>FLUSH PRIVILEGES;
Nach dem Login kopieren

2. Die Server-Firewall öffnet Port 3306 nicht

Centos verfügt über zwei Firewalls FirewallD und iptables-Firewall

Centos7 verwendet die FirewallD-Firewall.

FirewallD ist ein Front-End-Controller für iptables, der dauerhafte Netzwerkverkehrsregeln implementiert. Es bietet Befehlszeilen- und grafische Schnittstellen und ist in den Repositorys der meisten Linux-Distributionen verfügbar. Im Vergleich zur direkten Steuerung von iptables gibt es zwei Hauptunterschiede bei der Verwendung von FirewallD:

1. FirewallD verwendet Zonen und Dienste anstelle von Kettenregeln.

2. Es verwaltet Regelsätze dynamisch und ermöglicht so die Aktualisierung von Regeln, ohne bestehende Sitzungen und Verbindungen zu zerstören.

FirewallD ist ein Wrapper für iptables, mit dem Sie iptables-Regeln einfacher verwalten können – es ist kein Ersatz für iptables. Obwohl iptables-Befehle weiterhin mit FirewallD verwendet werden können, wird empfohlen, bei Verwendung von FirewallD nur FirewallD-Befehle zu verwenden.

1. FirewallD-Firewall öffnet Port 3306


 firewall-cmd --zone=public --add-port=3306/tcp --permanent
Nach dem Login kopieren

Befehlsbedeutung:


--zone #作用域


--add-port=3306/tcp #添加端口,格式为:端口/通讯协议


--permanent  #永久生效,没有此参数重启后失效
Nach dem Login kopieren

Firewall neu starten


systemctl restart firewalld.service
Nach dem Login kopieren

2.iptables entwickeln den 3306-Port


/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT

/etc/rc.d/init.d/iptables save
Nach dem Login kopieren

Zusammenfassung

Das obige ist der detaillierte Inhalt vonDer Grund, warum die MySQL-Datenbank unter Centos7 nicht remote verbunden werden kann, und die detaillierte Lösung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage