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 でカスタム スクロール バーを実装する

推薦する

TypeScript 列挙の基本と例

目次序文TypeScript の列挙型とは何ですか? TypeScriptで列挙型を使用する際に注意...

PHP で JSON バックスラッシュを削除する例

1. 「stripslashes($_POST['json']);」メソッドを使用し...

デカルト積原理を使用してMySQLで複数のテーブルをクエリする方法を簡単に説明します。

MySQL マルチテーブルクエリ (直積原理)まず、データが使用するテーブルを決定します。デカルト...

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...

Unicode 署名 BOM の詳細な説明

Unicode 署名 BOM - BOM とは何ですか? BOM は Byte Order Mark...

Linux インストール MySQL チュートリアル (バイナリ配布)

このチュートリアルでは、LinuxにMySQLをインストールする詳細な手順を参考までに紹介します。具...

動的なセカンダリメニューを実現するためのCSS

シンプルなセカンダリメニューを動的に実装するマウスを第 1 レベルのラベル上に置くと、マウスが小さな...

Vue で Excel インポート機能を実装する詳細な手順

1. フロントエンド主導の実装手順最初のステップは、ページのインポートボタンをクリックしてExcel...

CSS3 における擬似クラスの一般的な使用法の詳細な説明

before/after 疑似クラスは、要素内に 2 つの追加タグを挿入するのと同じです。最も適した...

MySQL 8.0.19 winx64 インストールチュートリアルと Windows 10 での初期パスワードの変更

この記事では、参考までにMySQL 8.0.19 winx64のインストールチュートリアルを紹介しま...

Ajax は CORS レスポンス ヘッダーを設定してクロスドメインの問題を解決し、クロスドメインのケース スタディを実現します。

1. クロスドメインを実現するためにCORSレスポンスヘッダーを設定するクロスオリジンリソース共有...

サーバーの購入と初期構築方法

しばらくサーバーいじってなかったけど、やることがなくなったのでモバイルワークスに行って海外サーバーを...

MySQL における一般的なランキングの問題をいくつかまとめます

序文:一部のアプリケーション シナリオでは、成績や年齢によるランキングなど、ランキングの問題が発生す...

Easyswoole ワンクリック インストール スクリプトとパゴダ インストール エラー

よくある質問easyswoole を初めて使用する場合は、次のような問題に遭遇することがよくあります...

JavaScriptでページスクロールアニメーションを実装する

目次レイアウトを作成するCSSスタイルを追加するJavaScript で要素を操作する対象要素を取得...