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 をインストールするための完全な手順

推薦する

MySQL データベースのパフォーマンス最適化の概要

目次なぜ最適化するのですか? ?どこから始めますか? ?解決策は何ですか? ? ?どうやって選ぶ? ...

ウェブページのカスタム選択ボックス選択

選択ドロップダウン リスト フォームは誰もがよく知っているかもしれませんが、デフォルトのドロップダウ...

React Diff Principle の詳細な分析

目次差分アルゴリズムレイヤーごとの比較同じタイプのコンポーネントを比較する同じタイプの要素の比較子ノ...

Linux で特定の時間にコマンドを実行する方法

先日、rsync を使用して LAN 上の別のシステムに大きなファイルを転送していました。非常に大き...

MySQL で datetime 型のデフォルト値を設定する方法

Navicat クライアントを通じてデフォルトの日時値を変更する際に問題が発生しました。データベース...

Dockerコンテナでルート権限を取得する方法

まず、コンテナが稼働している必要がありますコンテナのCONTAINER IDは、sudo docke...

Dockerは単一のイメージを使用して複数のポートにマッピングします

必要:公式サイトのリソースサーバーは確かに1つのインスタンスでは使えず、複数のインスタンスを一緒に使...

インラインブロックを使用した複数のdiv間の間隔はプログラミング方法とは異なります

inline-block について学習しているときに、境界線と inline-block を持つ複数...

Vueを使用してタイマー機能を実装する

この記事の例では、タイマー機能を実装するためのVueの具体的なコードを参考までに共有しています。具体...

Linuxシステムはルートアカウントのリモートログインコマンドを禁止しています

ps: Linux システムで root アカウントのリモート ログインを無効にする方法は次のとおり...

MySQL ジョイントテーブルクエリの簡単な例

MySql は結合テーブルクエリを使用しますが、初心者には理解しにくい場合があります。以下の記事では...

JavaScript は自由に移動するウィンドウのマウス制御を実装します

この記事では、フリーウィンドウのマウス制御を実現するためのJavaScriptの具体的なコードを参考...

MySQL 5.7 のルートパスワードログイン問題の解決策

前回の記事でMySQLサービスが起動しない問題が解決したと分かった後、パスワードなしでrootユーザ...

GZIP 圧縮 Tomcat と Web パフォーマンスの改善プロセス図

1. はじめに最近、あるプロジェクトに取り組んでいたのですが、サーバーからクライアントに返される J...

Vue の get リクエストと post リクエストの違いのまとめ

このチュートリアルの動作環境: Windows 7 システム、vue 2.9.6 バージョン、DEL...