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 Elementフロントエンドアプリケーション開発

目次概要1. バックエンドデータの取得と処理2. インターフェース表示処理概要前回のエッセイ「ステッ...

MySQLでデータベースのインストールパスを表示する方法

mysql コマンドを使用して、mysql のインストール パスを表示できます。 # 次の 2 つの...

CocosCreatorのホットアップデートの包括的な説明

目次序文ホットチェンジとはCocos Hot アップデートの概要マニフェストプロジェクトリソースとゲ...

uniappの無痛トークンリフレッシュ方法の詳細な説明

フロントエンドがインターフェースを要求すると、バックエンドでインターフェースが定義されます。ステータ...

8桁の割引コードをランダムに生成し、MySQLデータベースに保存します。

現在、多くの企業が割引コードを通じてプロモーションを行っています。今では、8桁の割引コードを実装して...

CSS により、子コンテナが親要素を超えます (子コンテナは親コンテナ内で浮動します)

序文場合によっては、次の図のような浮動効果の要件が必要になります。 成し遂げる標準的な通常の状況では...

Java を Mysql バージョン 8.0.18 に接続する方法の詳細な説明

JavaとMysql 8.0.18バージョンの接続方法については、参考までに具体的な内容は以下のとお...

MySQL 1対多関連クエリのページングエラー問題の解決方法

XML価格照会のクエリデータにはリストが含まれているため、コレクションが必要です <結果マップ...

MySQL サービスに iptables ファイアウォール ポリシーを追加するためのソリューション

MySQL データベースが Centos7 システムにインストールされており、オペレーティング シス...

jsはショッピングウェブサイトの商品の拡大鏡効果を実現します

この記事では、ショッピングサイトの商品の拡大鏡効果を実現するためのjsの具体的なコードを紹介します。...

入力ボックスのプレースホルダーアニメーションと入力検証を実現する純粋なCSS

さらに興味深いコンテンツについては、https://github.com/abc-club/free...

適応レイアウトの処理について(フロートとマージンネガティブマージンを使用)

適応型レイアウトは、実際のアプリケーションでますます一般的になっています。今日は、主にフローティング...

JQueryセレクターの詳細な説明

目次基本的なセレクター:レベルセレクター:属性セレクター:フィルターセレクター:フォーム属性セレクタ...

HTML ページはダーク モードの実装をサポートします

2019年から、AndroidとiOSの両方のプラットフォームでダークモードが使用され始めました。も...