MySQLユーザーと権限管理の詳細な説明

MySQLユーザーと権限管理の詳細な説明

この記事では、例を使用して MySQL ユーザーと権限の管理について説明します。ご参考までに、詳細は以下の通りです。

ユーザーは MySQL に接続し、さまざまなクエリを実行できます。これらはすべて、MySQL ユーザーと権限の機能によってバックグラウンドで管理されます。

ユーザーとデータベース サーバー間のデータ交換は、次の 2 つの段階に分かれています。

(1)接続する権限がありますか? (2)この操作を実行する権限がありますか?

1. 接続する権利がありますか?

サーバーは、ユーザーが接続する権限を持っているかどうかをどのように判断しますか?

に従って:

1) どこから来ましたか?ホスト
2) あなたは誰ですか?ユーザー
3) パスワードは何ですか?パスワード

ユーザーのこれら 3 つの情報は、MySQL データベースのユーザー テーブルに保存されます。

IPが接続できるようにホストドメインを変更する

mysql>ユーザーを更新し、ホストを '192.168.137.123' に設定します。ここで、ユーザーは 'root' です。
mysql>権限をフラッシュ; -- 権限をフラッシュする

ユーザーパスワードの変更

mysql>ユーザーを更新し、パスワードをpassword('11111111')に設定します。ここでxxx;
mysql>権限をフラッシュ; -- 権限をフラッシュする

2. この操作を実行する権限がありますか?

MySQL には、MySQL ライブラリと呼ばれるライブラリがあります。このライブラリには 3 つのテーブルがあり、そのうちの 1 つはユーザー テーブルで、すべてのユーザーの権限情報が格納されます。 1 つは db テーブルで、データベース層にあるすべてのユーザーの権限情報を保存します。 1 つは tables_priv テーブルで、テーブル レベルですべてのユーザーの権限情報を保存します。

ユーザーがログインすると、ユーザー テーブルはまずユーザー ログインを制限し、次にユーザーのグローバル権限も保存します。ユーザーに権限がない場合は、db テーブルを使用して、ユーザーが特定のデータベースを操作する権限を持っているかどうかを確認します。どちらも存在しない場合は、table_priv テーブルを使用して、ユーザーが特定のテーブルを操作する権限を持っているかどうかを確認します。権限がある場合、ユーザーは既存の権限に従ってテーブルを操作できます。

1) グローバルな承認と取り消し

グローバル認証形式:

'password' で識別される user@'host' に *.* の [権限 1、権限 2、権限 3] を付与します。

共通権限: すべて、作成、ドロップ、選択、挿入、削除、更新

承認:

ユーザー lisi を作成し、ホストを 192.168.191.% に設定します。% ワイルドカードは、192.168.191.xxx で終わるすべてのホストが接続できることを示します。パスワードは 12345678 です。

'12345678' で識別される lisi@'192.168.191.%' に *.* 上のすべての権限を許可します。

権限を取り戻す:

lisi@'192.168.191.%' から *.* 上のすべての権限を取り消します。

2) データベースレベルの承認と取り消し

要件: lisi ユーザーに mysqlmaster データベースのすべての操作権限を与える

承認:

mysqlmaster.* のすべての権限を、'12345678' で識別される lisi@'192.168.191.%' に付与します。

取り戻す:

mysqlmaster.* 上の lisi@'192.168.191.%' からすべての権限を取り消します。

3) テーブルレベルの承認と取り消し

要件: ユーザー lisi に、mysqlmaster データベースの goods テーブルに対する挿入、更新、および選択操作の権限を与えます。

承認:

mysqlmaster.goods に対する挿入、更新、選択権限を、'12345678' で識別される lisi@'192.168.191.%' に付与します。

取り戻す:

mysqlmaster.goods に対する lisi@'192.168.191.%' からの挿入、更新、選択を取り消します。

MySQL 関連のコンテンツに興味のある読者は、このサイトの次のトピックをチェックしてください: 「MySQL クエリ スキル」、「MySQL トランザクション操作スキル」、「MySQL ストアド プロシージャ スキル」、「MySQL データベース ロック関連スキルの概要」、および「MySQL 共通関数の概要」

この記事が皆様のMySQLデータベース設計に役立つことを願っています。

以下もご興味があるかもしれません:
  • DCL を使用して MySQL でユーザーを管理し、権限を制御する方法
  • MySQLでユーザーを作成し、権限を管理する方法
  • MySQL ユーザー権限管理の分析例
  • MySQLのユーザーアカウント管理と権限管理の詳細な説明
  • MySQLのユーザー権限の確認と管理方法の詳細な説明
  • MySQLユーザー権限管理の詳細な説明
  • MySQL における基本的なユーザーおよび権限管理方法の概要
  • MySQLユーザー権限管理の詳細な説明

<<:  Node.jsはexpress-fileuploadミドルウェアを使用してファイルをアップロードします

>>:  Linux サーバー上のローカル静的リソースにアクセスするために nginx を使用する方法

推薦する

クラウドネイティブテクノロジーKubernetesスケジューリングユニットポッドの使用の詳細な説明

k8s の最小のスケジューリング単位 --- pod前回の記事では、k8s が解決できる問題を簡単に...

nginxで複数のサーバーを簡単に構成する方法

1: nginx のインストール方法については詳しく説明しません。Baidu で検索してください。 ...

DockerでNginxサーバーを作成する方法

動作環境: MAC Docker バージョン: Docker version 17.12.0-ce,...

CSS変数を使用して、クールで素晴らしいフローティング効果を実現します。

最近、Grover の Web サイトで楽しいホバー アニメーションを見つけ、自分自身のインスピレー...

Ubuntu 上の MySQL における中国語文字化け問題の解決方法

問題を見つける最近 Django を学習しているのですが、MySQL データと組み合わせてデータを挿...

ディスク容量不足による MySQL レプリケーション障害の解決方法

目次ケースシナリオ問題を解決するまとめケースシナリオ本日、オンラインで問題が発見されました。監視範囲...

MySQLとOracleの違いのまとめ(機能性能の比較、選択、使用時のSQLなど)

1. 同時実行性同時実行性は OLTP データベースの最も重要な機能ですが、同時実行性にはリソース...

InnoDB がトランザクション分離レベルを巧みに実装する方法

序文前回の記事「MySQL ロック メカニズムの詳細説明」では、InnoDB のロック メカニズムに...

CSS3 の transition、transform、translate の違いと機能の簡単な分析

変換して翻訳するTransform は、変換と変形を意味します。他の幅属性や高さ属性と同様に、CSS...

MySQL分離の使用手順を読む

現在のトランザクションはどの履歴バージョンを読み取ることができますか?読み取りビューは、トランザクシ...

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...

MySQL の暗黙的な型変換によって発生するインデックス障害の解決策

目次質問再生暗黙的な変換要約する参照する質問仕事中、1 つの SQL クエリ ステートメントのみを実...

MySQL を暗号化および復号化するいくつかの方法 (要約)

目次前面に書かれた双方向暗号化エンコード/デコードAES_ENCRYPT/AES_DECRYPT D...

Docker ベースの ELK ログ システムを構築する方法

背景要件:ビジネスがどんどん大きくなると、サーバーの数も増え、さまざまなアクセスログ、アプリケーショ...

Div CSS 命名標準 CSS クラスの命名規則 (SEO 標準に準拠)

検索エンジン最適化 (SEO) では実行すべきタスクが多数ありますが、その中でもコードの最適化は重要...