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

推薦する

MySQL でのログインを取り消す

コンセプト紹介: MySQL の redo ログにはトランザクションの動作が記録されることはご存じの...

ショッピングカートの計算を実現する js メソッド

この記事の例では、ショッピングカートの計算を実装するためのjsの具体的なコードを参考までに共有してい...

WeChat アプレット開発フォーム検証 WxValidate の使用

個人的には、WeChat アプレットの開発フレームワークは VUE と概ね似ていると感じていますが、...

MySQLがフルテーブルスキャンを実行するいくつかの状況

目次ケース1:ケース2:ケース3:簡単にまとめると:過去 2 日間で、完全なテーブル スキャンを引き...

88 秒で 1,000 万件のレコードを MySQL データベース テーブルに挿入する方法

私が使用しているデータベースはMySQLデータベースバージョン5.7ですまずデータベーステーブルを自...

React Hooksの使用例

目次簡単なコンポーネントの例より複雑な親子コンポーネントのケースオンセレクトの書き方反応する子供Re...

熟練デザイナーの7つの原則(1):フォントデザイン

まあ、あなたはデザインの達人かもしれませんし、あるいはそれは大げさすぎるかもしれませんが、少なくとも...

DockerはRedisをインストールし、操作用のビジュアルクライアントを導入します

1 はじめにRedis 、 ANSI C言語で開発されたKey-Valueベースの高性能NoSQLデ...

CSS ハート型読み込みアニメーションのソースコードの実装

さっそく、コードをお見せしましょう。コードは非常にシンプルなので、勉強すれば理解できるようになります...

ネイティブ JS を使用してタッチスライド監視イベントを実装する方法

序文今日はちょっとしたデモを書きました。左右にスワイプするロジックに関わる部分があります。当初はプラ...

Apache ポートに基づいて仮想ホストを作成する例

apache: ポートに基づいて仮想ホストを作成する仮想ホスト(a、b、c)の作成を例に挙げます1)...

MySQL 悲観的ロックと楽観的ロックの実装

目次序文実際の戦闘1. ロックなし2. 悲観的ロック3. 楽観的ロック要約する序文悲観的ロックと楽観...

MySQL の大きなデータ テーブルにフィールドを追加する方法

序文フィールドの追加は誰でもよく知っていると思います。簡単に記述できます。MySQL テーブルにフィ...

VMware、nmap、burpsuite インストール チュートリアル

目次VMware バープスイート1. 仮想マシンイメージとVMwareのインストールと使用2. 仮想...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...