Maison > Article > base de données > La raison pour laquelle la base de données mysql ne peut pas être connectée à distance sous Centos7 et la solution détaillée
MySQL est un système de gestion de base de données SQL open source développé par Oracle. L'article suivant vous présente principalement les raisons et les solutions de l'impossibilité de se connecter à distance à la base de données mysql sous Centos7. Vous avez besoin que vos amis puissent s'y référer, jetons un coup d'œil ci-dessous.
Avant-propos
J'ai récemment rencontré un problème au travail. J'ai découvert que je ne pouvais pas me connecter à MySQL à distance sous le système Centos7. J'ai trouvé les informations pertinentes, elles ont finalement été résolues. La méthode suivante est la méthode que j'ai essayée après avoir rencontré le problème de l'impossibilité de me connecter à la base de données Mysql à distance, et j'ai finalement résolu le problème. Je vais donc le résumer et le partager pour référence des amis qui rencontrent également ce problème. Je ne dirai pas grand-chose ci-dessous, jetons un œil à l'introduction détaillée.
Il y a deux raisons
La base de données n'est pas autorisée
Le pare-feu du serveur ne le fait pas ouvrir le port 3306
1. La base de données n'est pas autorisée
Il n'y a pas d'autorisation pour la base de données mysql, juste utilisez une seule commande.
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION; //远程连接数据库的时候需要输入用户名和密码 用户名:root 密码:123456 指点ip:%代表所有Ip,此处也可以输入Ip来指定Ip 输入后使修改生效还需要下面的语句 mysql>FLUSH PRIVILEGES;
2. Le pare-feu du serveur n'ouvre pas le port 3306
centos a deux pare-feu FirewallD Et le pare-feu iptables
centos7 utilise le pare-feu FirewallD.
FirewallD est un contrôleur frontal pour iptables qui implémente des règles de trafic réseau persistantes. Il fournit des interfaces de ligne de commande et graphiques et est disponible dans les référentiels de la plupart des distributions Linux. Par rapport au contrôle direct d'iptables, il existe deux différences principales dans l'utilisation de FirewallD :
1. FirewallD utilise des zones et des services au lieu de règles de chaîne.
2. Il gère dynamiquement les ensembles de règles, permettant de mettre à jour les règles sans détruire les sessions et connexions existantes.
FirewallD est un wrapper autour d'iptables qui vous permet de gérer les règles iptables plus facilement - il ne remplace pas iptables. Bien que les commandes iptables puissent toujours être utilisées avec FirewallD, il est recommandé d'utiliser uniquement les commandes FirewallD lors de l'utilisation de FirewallD.
1. Le pare-feu FirewallD ouvre le port 3306
firewall-cmd --zone=public --add-port=3306/tcp --permanent
Signification de la commande :
--zone #作用域 --add-port=3306/tcp #添加端口,格式为:端口/通讯协议 --permanent #永久生效,没有此参数重启后失效
Redémarrez le pare-feu
systemctl restart firewalld.service
2.iptables développe le port 3306
/sbin/iptables -I INPUT -p tcp -dport 3306 -j ACCEPT /etc/rc.d/init.d/iptables save
Résumé
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!