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 コード

推薦する

vue-router を遅延ロードする 3 つの方法のまとめ

遅延読み込みを使用しない 'vue' から Vue をインポートします。 '...

ウェブページのカスタム選択ボックス選択

選択ドロップダウン リスト フォームは誰もがよく知っているかもしれませんが、デフォルトのドロップダウ...

生年月日を年齢に変換し、グループ化して人数を数えるMySQLの例

データベースのクエリ `学生`から*を選択 クエリ結果id名前誕生日1張三1970-10-01 2李...

Vueはカウントダウン機能を実装する

この記事の例では、カウントダウン機能を実装するためのVueの具体的なコードを参考までに共有しています...

MySQL 8.0.20でNavicatをインストールして接続する方法と注意すべき点

注意事項1. まず、mysql インストール ディレクトリに次の内容の my.ini ファイルを作成...

JS 手ぶれ補正機能の実装と使用シナリオ

目次1. 手ぶれ補正機能とは何ですか? 1. なぜ手ぶれ補正機能が必要なのでしょうか? 2. 手ぶれ...

MySql5.x を MySql8.x にアップグレードする方法と手順

MySQL 5.x と MySQL 8.0.X のいくつかの違いapplication.proper...

CSS の :focus-within の楽しさについて簡単に説明します

Bステーションでパスワードを入力するときに目を覆っているこの画像を見たことがある人もいると思いますこ...

MySQL 継続的集計の原理と使用法の分析

この記事では、例を使用して、MySQL の継続的な集計の原理と使用方法を説明します。ご参考までに、詳...

画像ブラインド表示の効果を実現するための純粋な CSS の例

まず、完成した効果をお見せしましょう 主なアイデア: 実際、このブラインドは一種の手品を使用していま...

SQLデータベースの14の事例の紹介

データシート /* Navicat SQLite データ転送 ソースサーバー: school ソース...

CSS3 で作成された背景グラデーションアニメーション効果

成果を達成する 実装コードhtml <h1 class="text-light&qu...

MySQL のデータベース パフォーマンスに影響を与える要因の説明

データベースのパフォーマンスに関する話面接では、「データベースにどのくらい精通していますか?」など、...

DockerでSpringbootプロジェクトを実行する方法

1. IDEAの下にあるターミナルをクリックし、mvn clean installと入力します。 次...