MySql でリモート接続を許可する方法

MySql でリモート接続を許可する方法

MySql でリモート接続を許可する方法

この目標を達成するには、2つのことを行う必要がある。

  1. ユーザー権限を有効にする
  2. ローカルのバインドを解除

ユーザー権限を有効にする

まずMySQLサーバーにログインします

//スペースを使わずにmysqlに直接ログインできます -u ユーザー名 -p パスワード mysql> use mysql
mysql> ユーザーからユーザー、ホストを選択します。

レンダリング

コードを実行すると、すべてのユーザーとそれに対応するホストが表示されます。

ホストはアクセスが許可されている IP アドレスを指し、% は任意の IP を意味します。もちろん、ローカル サーバーの場合は、ローカル IP に設定することもできます。

ユーザーはSQL文を使用してホストを全てに設定できる

//ホストを更新します。ここでは、既存のユーザーとホストを選択する必要があります。
//user テーブルでは、user と host が主キーなので、重複できません。上図のように、root update のみをクエリすると、エラーが報告されます。mysql> update user set host = '%' where user = 'root' and host = 'localhost'

これにより、既存のユーザーの権限が変更されます。

または

新しいユーザー権限を再作成することを選択できます。

// もちろん、読み取り専用などの権限を指定することもできます。mysql>GRANT ALL PRIVILEGES ON *.* TO 'newuser'@'%' IDENTIFIED BY 'newpassword' WITH GRANT OPTION;

以下はグローバル権限のリストです。

グローバル管理権限:

FILE: MySQL サーバー上のファイルの読み取りと書き込みを行います。
PROCESS: 他のユーザーに属するサービス スレッドを表示または終了します。
RELOAD: アクセス制御リストを再ロードし、ログなどを更新します。
SHUTDOWN: MySQL サービスをシャットダウンします。

データベース/テーブル/列の権限:

ALTER: 既存のデータ テーブル (列の追加/削除など) とインデックスを変更します。
CREATE: 新しいデータベースまたはテーブルを作成します。
DELETE: テーブルからレコードを削除します。
DROP: テーブルまたはデータベースを削除します。
INDEX: インデックスを作成または削除します。
INSERT: テーブルにレコードを追加します。
SELECT: テーブルのレコードを表示/検索します。
更新: テーブル内の既存のレコードを変更します。

特別な権限:

ALL: 何でも実行できます (root と同じ)。
使用方法: ログインのみが許可され、他の操作は許可されません。

アドレスのバインドを解除

以前に権限を有効にしましたが、ローカル バインディングが解放されていないため、ローカルのコマンド ラインからサーバー データベースに接続できません。その後、いくつかの情報を読んで、アドレスバインディングについて学びました。

私のサーバーは Ubuntu Server で、apt-get 経由で mysql をインストールしました。設定ファイルの場所は次のとおりです。

設定ファイル
1行目はbind-address = 127.0.0.1です。
コメントアウトするだけです

Windows サーバーの場合は、my.ini ファイルであるはずであり、MySQL がインストールされている場所でそれを見つける必要があります。

これからは、mysql -h host -r -p でリモートMySQLデータベースにローカルでアクセスできるようになります。

アドレスバインディングが解放されたら、MySQLサービスを再起動する必要があります。

読んでいただきありがとうございます。お役に立てれば幸いです。このサイトをサポートしていただきありがとうございます。

以下もご興味があるかもしれません:
  • MySQLデータベースへのリモート接続を有効にする方法
  • MySQLへのリモート接続認証方法の詳しい説明
  • MySQL リモート接続損失問題の解決策 (MySQL サーバーへの接続が失われました)
  • mysql リモート接続データベースメソッドコレクション
  • リモート接続を許可するようにmysqlを設定する方法
  • MySQL へのリモート接続が遅い問題を解決する方法 (mysql_connect が接続をゆっくり開く)
  • Navicat が MySQL にリモート接続できない問題の解決方法
  • MYSQL がリモート接続できない問題の解決策 (この MySQL サーバーへの接続は許可されていません)
  • MySQLにリモート接続できない問題を解決する方法
  • mysql がリモート接続を開きます (mysql がリモート アクセスを開きます)

<<:  docker と docker-compose による eureka の高可用性の実現の詳細な説明

>>:  シンプルな計算機を実装する JavaScript コード

推薦する

忘れられたMySQLパスワードとログインエラーの問題について簡単に説明します

MySQL ログイン パスワードを忘れた場合、解決方法は実はとても簡単です。MySQL メイン構成フ...

MySQLグループリンクの使用に関する詳細な説明

MYSQL におけるグループ化とリンクは、データベースの操作やデータのやり取りで最もよく使用される ...

テーブル切り替えのための JavaScript プラグインのカプセル化

この記事では、テーブル切り替えプラグインを実装するためのJavaScriptのカプセル化コードを参考...

MySQL 5.7.21 履歴データディレクトリからデータを復元するチュートリアルの解凍バージョン

状況の説明: データベースが異常に起動およびシャットダウンしたため、サービスを再度起動したときに「起...

Linuxシステムの入出力管理とvimの共通機能の詳細な説明

####システム内の入出力の管理#### 1. システムの入力と出力のリダイレクトを理解する入力リダ...

両端の CSS レイアウトのサンプルコード (親の負のマージンを使用)

最近、開発中に両端が揃ったレイアウトに遭遇しました。レイアウトはパーセンテージに基づいていました。以...

CentOS VPS に SSH 経由で MySQL をインストールする方法

yum install mysql-serverと入力します。続行するにはYを押してくださいインスト...

mysql8でルートユーザーのパスワードをリセットする手順を完了します

序文最近、多くの新しい同僚がこの質問をしてきました。特に、homebrew を通じて自動的にインスト...

HTML+CSS をベースにした素敵なフリップログインおよび登録インターフェースを作成します

素敵なフリップログインと登録インターフェースを作成する序文最近、ネットワーク ディスクを構築しようと...

vue3 を使用してカウント関数コンポーネントのカプセル化例を実装する

目次序文1. カプセル化の重要性2. どのようにカプセル化しますか? 1. アイデア2. 準備2. ...

VirtualBox Centos7 の NAT+ホストオンリーネットワークの落とし穴のまとめ

目次1. 問題の背景2. 仮想マシン ネットワーク カードの接続方法は何ですか? 2.1 NAT 2...

マインスイーパゲームを実装するための jQuery プラグイン (2)

この記事では、jQueryプラグインを使用してマインスイーパゲームを実装する2番目の記事を参考までに...

HTMLコードテキストボックスの制限入力テキストボックスが灰色になり、制限テキストボックスの入力

方法 1: readonly 属性を true に設定します。入力値=読み取り専用 readOnly...

Mysql の mysql.user ユーザー テーブルの詳細な説明

MySQL は、異なるユーザーに異なる権限を割り当てることができるマルチユーザー管理データベースであ...

アコーディオン効果を実現するネイティブ js

実際のWebページ開発でも、アコーディオンは頻繁に登場します。簡単なアコーディオンを作ったのですが、...