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 マルチインスタンス構成ソリューション

1.1 MySQL マルチインスタンスとは何ですか?簡単に言うと、MySQL マルチインスタンスとは...

MySQLのUPDATE文の落とし穴を記録する

背景最近、オンライン操作中に DML ステートメントを実行しました。これは絶対確実だと思っていました...

MySQLのテーブル構造を変更する際に知っておきたいメタデータロックの詳しい解説

序文MySQL を扱ったことがある人なら、テーブル メタデータ ロックの待機についてよく知っているは...

ウェブページ作成によく使われる英語フォント

アリアルArial は、多くの Microsoft アプリケーションとともに配布されるサンセリフ T...

円形/扇形メニューを2分で実装する方法を教えます(基本バージョン)

序文このプロジェクトでは円形のメニューが必要です。オンラインで検索しましたが、適切なものが見つからな...

jar パッケージを Docker コンテナに変換する方法

jar パッケージを Docker コンテナに変換する方法1.まずJavaイメージをダウンロードする...

Mac M1 での Nginx のマルチサイト構成の実装

注: nginxはbrew経由でインストールされますウェブサイトのルートディレクトリ: /opt/h...

MySQLデータベーストリガーの詳細な説明

目次1 はじめに2 トリガーの紹介3 トリガーを作成する4 トリガーを表示5. トリガーの削除6 結...

Linux ファイルとユーザー管理の実践

1. /etc ディレクトリ内の、文字以外の文字で始まり、その後に文字と任意の長さのその他の文字が続...

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明

JDBC が MySQL に接続して中国語を処理するときに文字化けする問題の解決方法の詳細説明最近、...

Vueはユーザーログイン切り替えを実装します

この記事では、ユーザーのログイン切り替えを実現するためのVueの具体的なコードを例として紹介します。...

Vue 初心者ガイド: 最初の Vue-cli スキャフォールディング プログラムの作成

1. Vue - 最初の vue-cli プログラムVueの開発はNodeJSに基づいています。実際...

Linux のハードリンクとソフトリンクの区別

Linux には、2 種類のファイル接続があります。1 つは Windows のショートカットに似て...

USE DB 輻輳に対する MySQL ソリューションの詳細な説明

障害に遭遇すると、障害の根本的な原因を考えるのではなく、障害を解決する方法を考えることがよくあります...

mysql 5.7.5 m15 winx64.zip インストール チュートリアル

win7 64 ビットで mysql-5.7.5-m15-winx64 をインストールして構成する方...