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 用のプロキシ サーバーを構築する方法

推薦する

6つのレイアウトでのFrameLayoutの使用

序文前回はLinearLayoutについて説明しました。今回はFrameLayoutの使い方を説明し...

React forwardRefの使い方と注意点

これまで react.forwardRef は react の高階コンポーネントには適用できませんで...

リアクトルーティングガード(ルーティングインターセプション)の実装

React は Vue とは異なります。ルートにメタ文字を設定することでルートインターセプションを実...

Mysql データベースの高度なビュー、トランザクション、インデックス、自己接続、ユーザー管理の例の分析の使用

この記事では、ビュー、トランザクション、インデックス、自己接続、ユーザー管理など、MySQL データ...

更新SQL文に基づくMySQLロックの理解

序文MySQL データベース ロックは、データの一貫性を実現し、同時実行性の問題を解決するための重要...

Linux で rpm パッケージを見つけるために CD をマウントする方法

前面に書かれたLinux を使用する際にソフトウェアをインストールする必要がある場合があります。もち...

ウェブページ入力ボックスのスタイルトリガー効果

<br />この例では、主に onblur と onFocus という 2 つのパラメー...

Mysql マスタースレーブ同期 Last_IO_Errno:1236 エラー解決

Mysql マスタースレーブ同期の Last_IO_Errno:1236 エラーの原因は何ですか? ...

JavaScriptはイベントリスナーをイベント委任にバッチで追加します。詳細なプロセス

1. イベント委任とは何ですか?イベント委譲: イベントバブリングの特性を利用して、子要素に登録すべ...

WebpackはCSSファイルを読み込み、その設定方法

webpackはCSSファイルとその設定をロードします複数の CSS ファイルを作成した後、HTML...

MySQLデータベースのロック機構の分析

同時アクセスの場合、非反復読み取りやその他の読み取り現象が発生する可能性があります。高い同時実行性に...

Vue3ナビゲーションバーコンポーネントのカプセル化実装方法

参考までに、Vue3でナビゲーションバーコンポーネントをカプセル化し、スクロールバーのスクロールに合...

MySQL 5.7を完全にアンインストールするための詳細な手順

この記事は主に、MySQLを再インストールする際のクリーンでないアンインストールのさまざまな問題をま...

CSS フロートプロパティ図 フロートプロパティの詳細

CSS の float プロパティを正しく使用することは、カバーすべき内容が多く、ブラウザの互換性の...

HTMLフォームのいくつかの送信方法の概要

最も一般的で、最もよく使用され、最も一般的な方法は、submit タイプを使用することです。コードを...