ホームページ >データベース >mysql チュートリアル >Centos7でmysqlデータベースにリモート接続できない原因と具体的な解決策

Centos7でmysqlデータベースにリモート接続できない原因と具体的な解決策

黄舟
黄舟オリジナル
2017-09-21 10:47:582045ブラウズ

MySQL は、Oracle が開発したオープンソースの SQL データベース管理システムです。次の記事では、Centos7 で mysql データベースにリモート接続できない原因と解決策を、サンプル コードを通じて詳しく紹介します。必要です。参考として使用できます。以下を見てみましょう。

前書き

最近、Centos7 システムで mysql にリモート接続できないことがわかりました。次の方法で解決しました。リモート接続の失敗の問題。Mysql データベースにアクセスして試した方法で、最終的に問題が解決しました。同じようにこの問題に遭遇した友人の参考のために要約して共有します。以下では多くを述べませんが、詳細な紹介を見てみましょう。

理由は 2 つあります

  • データベースが承認されていません

  • サーバーのファイアウォールがポート 3306 を開いていません

1. データベースが承認されていません

化mysql データベースの場合は、1 つだけ必要です。注文するだけです。


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


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

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

2. サーバーファイアウォールがポート3306を開きません

centosにはFirewallDとiptablesファイアウォールの2つのファイアウォールがあります

centos7はFirewallDファイアウォールを使用します。

FirewallD は、永続的なネットワーク トラフィック ルールを実装する iptables のフロントエンド コントローラーです。コマンド ラインとグラフィカル インターフェイスを提供し、ほとんどの Linux ディストリビューションのリポジトリで利用できます。 iptables を直接制御する場合と比較して、FirewallD の使用には 2 つの主な違いがあります:

1. FirewallD はチェーン ルールの代わりにゾーンとサービスを使用します。

2. ルールセットを動的に管理し、既存のセッションや接続を破壊することなくルールを更新できるようにします。

FirewallD は、iptables ルールをより簡単に管理できるようにする iptables のラッパーです。これは、iptables の代替品ではありません。 iptables コマンドは引き続き FirewallD で使用できますが、FirewallD を使用する場合は FirewallD コマンドのみを使用することをお勧めします。

1. FirewallD ファイアウォールがポート 3306 を開きます


 firewall-cmd --zone=public --add-port=3306/tcp --permanent

コマンドの意味:


--zone #作用域


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


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

ファイアウォールを再起動します


systemctl restart firewalld.service

2.iptablesはポート3306を開発します


rreee

概要

以上がCentos7でmysqlデータベースにリモート接続できない原因と具体的な解決策の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。