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

推薦する

Docker Composeオーケストレーションツールの詳細な説明

Docker の作成Docker Compose は、複数の Docker コンテナを定義して実行す...

Nginx アップロードファイルのサイズを変更する簡単な方法

オリジナルリンク: https://vien.tech/article/138序文私は、マークダウン...

MySQL 8.0 の binlog の詳細な説明

1 はじめにバイナリ ログは、データを持つ、またはデータを変更する可能性がある SQL ステートメン...

Ubuntu 18.04 に phpMyAdmin をインストールするための詳細なチュートリアル

Ubuntu 18.04 上の Apache で動作するように phpMyAdmin をインストール...

MySQL の order by ステートメントの最適化方法の詳細な説明

この記事では、ORDER BY文の最適化について学びます。その前に、インデックスの基礎的な理解が必要...

a タグにはテキストと画像があります。テキストを非表示にして画像のみを表示するにはどうすればよいでしょうか?

多くの場合、画像を表示する<a>タグのスタイルに遭遇しますが、タグ内にテキストがあり、そ...

すべてのブラウザとの完全な互換性を実現するために最適なプリセットを選択してください

各ブラウザの select タグのプロパティと各ブラウザのサポートが多少異なるため、各ブラウザでの選...

Linuxルートの初期値を設定する方法の簡単な分析

Ubuntu ではデフォルトで root ログインが許可されていないため、初期の root アカウン...

VUE ユニアプリカスタムコンポーネントについての簡単な説明

1. 親コンポーネントはpropsを通じて子コンポーネントにデータを渡すことができる2. 子コンポー...

React Nativeプロジェクトフレームワークの構築経験

React Native は、2015 年 4 月に Facebook によってオープンソース化され...

MySQL で結果を選択して更新を実行する例のチュートリアル

1. 単一テーブルクエリ -> 更新 テーブル名の更新 フィールド1=新しい値1、フィールド2...

MySQL 最適化の概要 - クエリエントリの合計数

1. COUNT(*) と COUNT(COL) COUNT(*)は通常、主キーに対してインデックス...

Vue でルートをジャンプする方法をご存知ですか?

目次最初の方法: router-link (宣言型ルーティング) 2番目の方法: router.pu...

MySQL Routerのインストールと展開

目次01 MySQLルーターの紹介MySQL Router とは何ですか? 02 MySQLルータの...

tomcat デプロイメント プロジェクトの実装と IDEA との統合

目次Tomcat でプロジェクトを展開する 3 つの方法プロジェクトをwebappsディレクトリに直...