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

推薦する

VMware に CentOS7 をインストールし (静的 IP アドレスを設定)、Docker コンテナ経由で mySql データベースをインストールする (非常に詳細なチュートリアル)

2 年生から、これらのインストールと設定の仕方を尋ねられました。簡単なチュートリアルを作成し、ここ...

CentOS に Docker をインストールし、Springboot で Docker をリモート公開する方法

目次1. CentOS7.0へのJDK1.8のインストール2. Dockerのインストール3.Doc...

Linux システム MySQL8.0.19 クイックインストールと構成チュートリアル図

目次1. 環境の紹介2. MySQL-8.0.19をインストールする3. MySQLを設定する1. ...

Docker-compose チュートリアルのインストールとクイックスタート

目次1. Compose の紹介2. ComposeとDockerの互換性3. Dockerをインス...

nginx ログを elasticsearch にインポートする方法の例

nginx ログは filebeat によって収集され、logstash に渡され、logstash...

Vueはユーザーログイン切り替えを実装します

この記事では、ユーザーのログイン切り替えを実現するためのVueの具体的なコードを例として紹介します。...

crontab の実行結果を電子メールでユーザーに通知する方法

症状Centos7 ホストに crontab タスクを設定しましたが、時間が来るとメールを実行して「...

Windows SSHサーバーを簡単に構築するためのいくつかの手順

ここで言及されている SSH は Security Shell と呼ばれます。Linux をよく使用...

Dockerのクイックガイド

Docker は、安全で繰り返し可能な環境でソフトウェアを自動的にデプロイする方法を提供し、コンピュ...

測定画像HTTPリクエスト

一般的なブラウザでテスト ページを開き、Fiddler で http リクエストを表示してください。...

MySQL での Truncate の使用法の詳細な説明

序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...

JavaScriptプロトタイプチェーンを理解する

目次1. プロトタイプとプロトタイプチェーンの平等関係を理解する2: プロトタイプとプロトタイプ チ...

CentOS 6 および 7 での MySQL 5.7 の詳細なインストール チュートリアル

開発には常にデータが必要です。サーバーとしての Linux では、テスト データを格納するためのデー...

HTML ウェブページでのアンカー(名前付きアンカー)の使用の概要

以下の情報はインターネットから収集したものです1. アンカーは、Web ページ作成におけるハイパーリ...

MySQLはランダムに一定数のレコードを抽出します

以前は、このような使用シナリオを処理するために rand() で直接 order していましたが、効...