MySQLリモート接続失敗の解決策

MySQLリモート接続失敗の解決策

以前、MySQLがローカルでは接続できるのにリモートでは接続できないという問題に遭遇したことがありましたが、記録していませんでした。今日、クラウドに新しく適用したサーバーで再びこの問題に遭遇しました。解決プロセスを記録します。

1. ネットワークまたはファイアウォールの問題を解消する

まず、リモート サーバーに ping できるかどうかを確認します (192.168.1.211 に ping を実行してください)。実行できない場合は、ネットワークの問題です。次に、ポートがファイアウォールによってブロックされていないかどうかを確認します。telnet 192.168.1.211 3306 を実行し、接続に失敗した場合はファイアウォールを設定します。
ファイアウォールを設定し、ポート3306を開きます。

vi /etc/sysconfig/iptables
-A INPUT -m state –state NEW -m tcp -p tcp –dport 3306 -j ACCEPT (ポート3306がファイアウォールを通過できるようにする)
/etc/init.d/iptables を再起動します(設定を有効にするにはファイアウォールを再起動します)

2. MySQLの設定を確認する

ファイアウォールが有効になっていても telnet が失敗する場合は、netstat を使用してポート 3306 のステータスを確認します。

netstat -apn | grep 3306
tcp6 0 0 127.0.0.1:3306 :::* LISTEN 13524/mysqld

これは、3306 がローカル コンピューターにバインドされていることを示していることに注意してください。バインディング IP アドレスを設定できる my.cnf の設定を確認します。
バインドアドレス=addr
設定されていない場合、または IP アドレスが 0.0.0.0 に設定されている場合、すべてのクライアント接続をリッスンすることを意味します。
ps: ポート 3306 を開いて MySQL 構成を確認した後、telent はまだ失敗しましたが、ローカル マシン上の telnet は正常でした。構成に問題がないことを何度も確認しました。その後、ucloud アカウント管理者に伝えたところ、ucloud 管理バックエンドでもポート 3306 を開く必要があることがわかりました。クラウド サーバーを使用する人は、これに注意する必要があります。

3. ユーザーのアクセス権を確認する

MySQL でユーザーを作成するときに、ホストが指定されます。デフォルトは 127.0.0.1/localhost です。このユーザーはローカル マシンにのみアクセスできます。他のマシンには、このユーザー アカウントでアクセスする権限がないことが通知されます。ホストを % に変更すると、すべてのマシンがアクセスできるようになります。

最後に、設定を有効にするために MySQL を再起動することを忘れないでください。

# /etc/init.d/mysql を再起動します

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • MySQLデータベースへのリモート接続を有効にする方法
  • MySQL リモート接続損失問題の解決策 (MySQL サーバーへの接続が失われました)
  • MySQLへのリモート接続認証方法の詳しい説明
  • Linux システムで MySQL データベースにリモート接続する方法のチュートリアル
  • リモート接続を許可するようにmysqlを設定する方法
  • MySQL へのリモート接続が遅い問題を解決する方法 (mysql_connect が接続をゆっくり開く)
  • mysql リモート接続データベースメソッドコレクション
  • MYSQL がリモート接続できない問題の解決策 (この MySQL サーバーへの接続は許可されていません)
  • MySQLにリモート接続できない問題を解決する方法
  • MySql8 リモート接続設定の実際の記録

<<:  フォアマン Ubuntu16 クイックインストール

>>:  ネイティブ js でカスタム スクロール バーを実装する

推薦する

Vue を使用してパブリック アカウントの Web ページを開発する方法

目次プロジェクトの背景始めるvue-cliでプロジェクトを作成するモバイル適応についてnormali...

jQueryはネストされたタブ機能を実装します

この記事では、ネストされたタブ機能を実装するためのjQueryの具体的なコードを参考までに紹介します...

React Native環境のインストールプロセス

react-native インストールプロセス1.npx react-native init Awe...

ノードを使用して静的ファイルキャッシュを実装する方法

目次キャッシュキャッシュ位置の分類キャッシュ設定ヘッダーNodeは静的ファイルキャッシュを実装する強...

vue-cli で stimulsoft.reports.js を使用する詳細なチュートリアル

vue-cli は stimulsoft.reports.js を使用します (ナニーレベルのチュー...

Layuiテーブルは指定された行のラジオボタンを選択し、その行の実装コードまでスクロールします。

layui テーブルには複数行のデータがあります。外部入力コンテンツを通じて、指定された行を見つけ...

CentOS8 システムをベースにした Gitlab を構築するために Docker を使用する詳細なチュートリアル

目次1. Dockerをインストールする2. GitLabをインストールする3. GitLabを初期...

MySQL でのインデックスの追加と削除に関連する操作

目次1. インデックスの役割2. インデックスの作成と削除(1)ALTER TABLE文を使用して、...

Vue 日付時刻ピッカーコンポーネントの使い方の詳細な説明

この記事の例では、Vue の日付時刻ピッカーコンポーネントの具体的なコードを参考までに紹介します。具...

JavaScript 配列重複排除ソリューション

目次方法1: set: データ型ではなくデータ構造であり、メンバーは一意である方法2: オブジェクト...

Vueは開始時間と終了時間の範囲クエリを実装します

この記事では、Vueで開始時間と終了時間の範囲を照会する方法を参考までに紹介します。具体的な内容は次...

コネクタコンポーネントから Tomcat のスレッドモデルを見る - BIO モード (推奨)

Tomcat の上位バージョンでは、デフォルト モードは NIO モードを使用することになります。...

Win10 64ビットMySQL8.0のダウンロードとインストールのチュートリアル図

公式サイトから MySQL をダウンロードしてインストールし、クライアントにログインするにはどうすれ...

Linux で txt を mysql にインポートする方法

序文昨日、小さなプロジェクトを書いていたときに、txt ドキュメントのデータを mysql データベ...

HTML ページ ソース コード レイアウトの概要_Powernode Java Academy

HTML ページ ソース コード レイアウトの概要この紹介では、Google のホームページのソー...