Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

Linux 構成で MySQL データベースへのリモート接続が失敗する問題の解決方法

今日は、Linux でリモート アクセス用に MySQL データベースを構成する方法について質問があります。Baidu にはこれに関する多くの情報がありますが、方法は同じです。すべて試しましたが、解決できませんでした。ここに記録しておきます。

ステップ1: /etc/mysql/my.cnfでbind-address = 127.0.0.1を見つける

この行の前に「#」を追加してコメントアウトするか、次のように変更します: bind-address = 0.0.0.0

任意の IP アドレスからのアクセスを許可するか、リモートでアクセスする必要がある IP アドレスを指定します。

次に、mysqlを再起動します: sudo /etc/init.d/mysql restart

ステップ2:ユーザーにリモート接続を許可する

grant オプションを使用して、"password" で識別される root@"%" に *.* のすべての権限を付与します。
 権限をフラッシュします。

コマンドの最初の行は次のように説明されます: *.*: 最初の * はデータベース名を表し、2 番目の * はテーブル名を表します。これは、すべてのデータベース内のすべてのテーブルがユーザーに対して承認されていることを意味します。特定のデータベースまたはデータベースの下のテーブルのみを承認する場合は、* を必要なデータベース名とテーブルに置き換えます。 root: ルートアカウントを付与します。 「%」: 承認されたユーザーの IP を指定できることを示します。つまり、どの IP アドレスでも MySQL データベースにアクセスできます。 「パスワード」: 割り当てられたアカウントに対応するパスワード。パスワードをルート アカウントのパスワードに置き換えます。

2 番目のコマンド行は権限情報を更新し、設定した権限をすぐに有効にします。

しかし、結局、まだアクセスできません。現時点では、ファイアウォールと MySQL ポート 3306 に問題がある可能性があります。

netstar -aコマンドを使用してすべてのポートを照会しましたが、ポート 3306 は表示されませんでした。nerstat -an|grep 3306コマンドを使用しましたが、何も表示されませんでした。これは、ポート 3306 が存在しないことを意味します。

Alibaba Cloud コンソールにログインし、クラウド サービス セキュリティ グループに新しいルールを追加し、ルールを複製して、ポート番号を MySQL の 3306 に変更します。それでもリモート接続は失敗します。

この時点で、新しく追加されたルールを有効にするには、コンソールでシステムを再起動する必要があります。再起動後も、接続は失敗します。この時点で、ローカルの Navicat ソフトウェア接続は、以前の接続不可エラーではなく、アクセス拒否エラーを返します。

このとき、上記の 2 番目の手順を実行してユーザー コマンドを再度承認し、Apache MySQL を再起動すると、最終的に接続が成功します。

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

以下もご興味があるかもしれません:
  • Linux に JDK Tomcat MySQL をインストールするチュートリアル (Mac を使用したリモート アクセス)
  • Linux サーバーで MySQL リモート接続を有効にする方法
  • Linux で MySQL データベースにリモート接続する方法
  • Linux システムで MySQL データベースにリモート接続する方法のチュートリアル
  • Linux プラットフォームの MySQL でリモート ログインを有効にする
  • LinuxでMySQLのリモートアクセス権を有効にし、ファイアウォールでポート3306を開きます。
  • 仮想マシンのLinux側のMySQLデータベースにリモートアクセスできない問題の解決策
  • リモート接続を可能にする Linux mysql コマンドをインストールして設定する方法
  • Linux での MySQL 5.7 の導入とリモート アクセス構成

<<:  Javascript を使用して、スライドバー効果のあるスライドナビゲーション プラグインを開発します。

>>:  Squid を使用して http および https 用のプロキシ サーバーを構築する方法

推薦する

Windows 10 に Linux サブシステムをインストールする 2 つの方法 (画像とテキスト付き)

Windows 10 は Linux サブシステムをサポートするようになり、面倒なデュアル システ...

MySQL の時間タイプとモードの詳細

目次1. MySQL の時刻型2. タイムゾーンを確認する3. 不正な時間値4. 厳密モード5. 事...

円形グラデーションプログレスバー効果を実現する CSS サンプルコード

実装のアイデア一番外側は大きな円(グラデーションカラー)グラデーションの円を覆うように、内側に半円を...

jQueryは動的タグイベントを実装します

この記事では、タグイベントを動的に追加するためのjQueryの具体的なコードを参考までに紹介します。...

Linux で文字化けしたファイルや特殊文字のファイルを削除する方法

エンコーディングの理由により、Linux サーバーに中国語のファイルやディレクトリをアップロードまた...

MySQLバイナリログを介してデータベースデータを復元する方法の詳細な説明

ウェブサイト管理者は、さまざまな理由や操作により、ウェブサイトのデータを誤って削除したり、ウェブサイ...

Vue2 キューブUI 時間セレクターの詳細な説明

目次序文1. 需要と効果必要効果2. コードの実装index.vue(html)日付方法テスト結果3...

CocosCreatorでシューティングゲームを作る詳しい解説

目次シーン設定ゲームリソース砲塔の回転動的に生成された弾丸衝突計算効果を高めるターゲットの動き弾薬庫...

JavaScript を使用して div の位置をドラッグして入れ替える例

1 実施原則これは、DOM 要素の dragstart/ondragover/ondrop イベント...

nginxカスタム変数と組み込み定義済み変数の使用

概要Nginx では変数を使用して設定を簡素化し、設定の柔軟性を向上させることができます。すべての変...

Centos7 esxi6.7 テンプレートの実際のアプリケーションの詳細な説明

1. Centos7.6システムを作成し、システムを最適化する1. NetworkManagerをオ...

Ubuntu で時刻同期に NTP を使用する

NTP は、ネットワーク上で時間を同期するための TCP/IP プロトコルです。通常、クライアントは...

Vue3 親子コンポーネントパラメータ転送における sync 修飾子の使用法の詳細な説明

目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...

Java+Tomcat 環境の展開とインストールのプロセス図

次に、Centos7 に Java+Tomcat をインストールします。インターネット上には多くの記...