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

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

黄舟
黄舟original
2017-09-21 10:47:582026parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Fonction de commande EXPLAINArticle suivant:Fonction de commande EXPLAIN