CentOS7 で MySQL データベースにリモート接続できない理由と解決策

CentOS7 で MySQL データベースにリモート接続できない理由と解決策

序文

最近、仕事で問題が発生しました。 Centos7 システムでは MySQL にリモート接続できないことがわかりました。 関連情報を検索してようやく解決しました。 以下の方法は、Mysql データベースにリモート接続できないという問題が発生した後に試したもので、ようやく問題を解決しました。そこで、同じ問題に遭遇した友人の参考と学習のために、要約して共有します。以下では多くは述べませんが、詳細な紹介を見てみましょう。

理由は2つあります

  • データベースは承認されていません
  • サーバーのファイアウォールがポート3306を開いていません

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

MySQL データベースには認証がないので、コマンドは 1 つだけで十分です。

mysql> GRANT OPTION を使用して、'123456' で識別される 'root'@'%' に *.* のすべての権限を付与します。


//データベースにリモート接続する場合は、ユーザー名とパスワードを入力する必要があります。ユーザー名: root
パスワード:123456
すべての IP を表すには、ip:% をポイントします。ここで IP を入力して IP を指定することもできます。

変更を有効にするには、次のステートメントも必要です。mysql>FLUSH PRIVILEGES;

2. サーバーのファイアウォールがポート3306を開いていない

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

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

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

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

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

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

1. FirewallDでポート3306を開く

 ファイアウォールコマンド --zone=public --add-port=3306/tcp --permanent

コマンドの意味:

--zone #scope --add-port=3306/tcp #ポートを追加、形式: ポート/通信プロトコル --permanent #永続的、このパラメータがないと再起動後に無効になります

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

systemctl で、firewalld.service を再起動します。

2.iptables 開発ポート 3306

/sbin/iptables -I 入力 -p tcp -dport 3306 -j 受け入れ

/etc/rc.d/init.d/iptables 保存

要約する

上記はこの記事の全内容です。この記事の内容が皆さんの勉強や仕事に少しでもお役に立てれば幸いです。ご質問があれば、メッセージを残してコミュニケーションしてください。123WORDPRESS.COM をご愛顧いただき、ありがとうございます。

以下もご興味があるかもしれません:
  • CentOS7.6にMYSQL8.0をインストールする詳細な手順
  • CentOS 6.2 に MySQL 5.7.28 をインストールするチュートリアル (mysql ノート)
  • CentOS7 での MySQL 8.0.16 のインストールと設定のチュートリアル
  • Centos7 に mysql 8.0.13 (rpm) をインストールする詳細なチュートリアル
  • CentOS7 は yum を使用して mysql 8.0.12 をインストールします
  • CentOS に MySQL 8.0 をインストールして設定するための詳細な手順
  • CentOS7 インストール GUI インターフェースとリモート接続の実装
  • CentOS7.2 に MySql5.7 をインストールし、リモート接続認証を有効にするチュートリアル
  • CentOS 8 に MySql をインストールしてリモート接続を許可する方法

<<:  CocosCreator システムイベントがどのように生成され、トリガーされるかについての詳細な説明

>>:  CentOS サーバーに FFmpeg をインストールするための完全な手順

推薦する

CSS テキスト配置実装コード

フォームを作成するときに、名前、携帯電話番号、出生地などの 2 つのフィールドを揃える状況に遭遇する...

数百万のデータボリュームに対する MySQL ページングクエリ方法とその最適化の提案

データベース SQL の最適化はよくある問題です。何百万ものデータ ボリュームに対してページング ク...

DockerでMySQLマスタースレーブ環境を構築する方法の詳しい説明

序文この記事では、docker-compose と dockerfile を使用して、binlog ...

SQL 実装 LeetCode (185. 部門内で最も給与の高い上位 3 名)

[LeetCode] 185. 部門別給与上位3位従業員テーブルにはすべての従業員が保持されます。...

MIME TYPEとは?MIME-Typesタイプコレクション

MIME タイプとは何ですか? 1. まず、ブラウザがコンテンツを処理する方法を理解する必要がありま...

React 関数コンポーネントのパフォーマンス最適化のアイデアの詳細な説明

最適化のアイデア最適化には主に 2 つの方向があります。再レンダリングの回数を減らします。 Reac...

JDBC を使用して MySQL を操作するための簡単な分析では、Class.forName("com.mysql.jdbc.Driver") を追加する必要があります。

導入データベースに接続するためにJDBCを使用することに慣れている場合は、データベースに接続するため...

アクセス速度を上げるためにウェブサイトを最適化する方法の更新

最近、同社はitpubを皮切りに、コーポレートウェブサイト傘下の全サイトの評価を開始した。そのために...

ins タグと del タグの属性と使用法

insとdel は、HTML 4.0 で導入され、文書の作成時に作成者が共同作業できるようにし、また...

乱数、文字列、日付、検証コード、UUIDを生成するMySQLメソッド

目次乱数を生成する0から1までの乱数を生成する指定された範囲内で乱数を生成します6桁のモバイル認証コ...

Mailtoを使えばHTMLでメールを送るのは簡単

最近、顧客のフッターメールボックスにクリックして送信するメール機能を追加しました。Baidu で検索...

Mybatis+mysqlはストアドプロシージャを使用してシリアル番号実装コードを生成します。

同時操作によるデータの重複を避けるために、データベースを操作するときにストアドプロシージャを使用して...

HTML Web ページ リスト タグ学習チュートリアル

HTML Web ページ リスト タグの学習チュートリアル。 HTML ページでは、リストはアウトラ...

記事では、js を使用して弾幕効果を実現する方法を説明します

目次新しい HTML ファイルを作成します。初期テンプレートを作成するHTML の追加CSS パディ...

ソースコード分析からTomcatがサーブレットの初期化を呼び出す方法の詳細な説明

目次導入1. Tomcatを起動するコード2. Tomcatフレームワーク3. コンテナを作成する ...