MySQL の権限管理の詳細な紹介
権限管理
MySQL 権限システムは、次の 2 つの段階を通じて認証を行います:
接続ユーザーの ID を認証し、正当なユーザーが認証され、違法なユーザーは接続を拒否します。
認証された正規ユーザーに対応する権限を付与すると、ユーザーはこれらの権限の範囲内でデータベースに対して対応する操作を実行できます。
権限アクセスプロセスでは、主に mysql データベースの下の user テーブルと db テーブルが関係します。 user テーブルのデータ構造は次のとおりです。
db テーブルのデータ構造は次のとおりです。
テーブルの説明: ユーザー列、権限列、セキュリティ列、およびリソース制御列が含まれます。最も頻繁に使用されるのはユーザー列と権限列です。権限は通常権限と管理権限に分かれています。 select_priv、insert_priv などの通常の権限ユーザー データベースの操作。管理権限は主に、process_priv、super_priv などのデータベース操作を管理するために使用されます。
ユーザーが接続すると、権限テーブルのアクセスプロセスが行われます:まず、ユーザーテーブルのホスト、ユーザー、パスワードの3つのフィールドから、接続されたIP、ユーザー名、パスワードがテーブルに存在するかどうかを判断します。 、 の場合は検証に合格し、そうでない場合は接続が拒否されます。
認証に合格したら、権限テーブル user->db->tables->priv->columns_priv の順にデータベース権限を取得します。グローバル権限はローカル権限をカバーします。たとえば、ユーザーがユーザー テーブルの選択権限を持っている場合、そのユーザーはすべてのデータのすべてのテーブルのすべての列に対する選択権限を持ちます。
権限検索の詳細説明: ユーザーが権限認証に合格すると、権限を割り当てるときに、権限は user->db->gt;tables_priv->columns_priv の順序で割り当てられます。つまり、最初に権限を確認します。 table user (ユーザー table の対応する権限が Y の場合)。この時点で、すべてのデータベースに対するユーザーの対応する権限は Y であり、ユーザーの特定のデータベースである N の場合、db、tables_priv、および columns_priv はチェックされなくなります。ユーザーの特定のデータベース権限がデータベースで取得されている場合、権限が Y の場合、検索は実行されず、データベースに対応する特定のテーブルの権限が確認されます。それ以外の場合は、columns_priv テーブルがチェックされ、対応する特定の列の権限が確認されます。これは、ユーザーにアクセス許可を与えるときに重要です。
アカウント管理
ユーザーの作成
ユーザーを作成するには、grant 構文を使用してユーザー テーブルを作成または直接操作できます。
方法 1:
使用テーブルを直接操作する
insert into user(Host
,User
,Password
) value("127.0.0.1","test",password("51testit"));
方法 2:
CREATE USER 'username'@' の形式host ' IDENTIFIED BY 'password';
eg:CREATE USER 'test'@'127.0.0.1' IDENTIFIED BY '51testit';
作成後、次のようにログインします:
MySQL暗号化方式: 16が生成されます。 MYSQL323 暗号化ビット文字列であり、MySQLSHA1 に残っているのは 41 ビット文字列ですが、その は実際の暗号操作には追加されていません。観察すると、多くのユーザーが "" を保持しており、"*" は実際のクラッキング中に削除されます。つまり、MySQLSHA1 によって暗号化されるパスワードの実際の桁数は 40 桁になります。
Host フィールドの説明
Host 値には、ホスト名または IP 番号、または locahost はローカル ホストを表します。
ホスト列の値の前にワイルドカード文字「%」と「_」を使用できます。「%」は、空のホスト値が「%」と一致することを意味します。たとえば、「%.myweb.com」は、すべての mysql.com ドメインのすべてのホストに一致します。ケースは次のとおりです:
Host | User | parsing |
---|---|---|
myweb.wang | pps | pps、myweb.wang |
% | pps | pps、任意のホストから接続 |
” | 任意のユーザー、任意のホストから接続 | |
pps | pps、122.164.35.127から接続 | |
pps | pps、122.164.35 上の任意のホストから接続します |
| 権限レベル
| 永続的な説明の制限
|
データベース、テーブル、またはインデックス |
データベース、テーブル、またはインデックスの作成権限 |
DROP |
データベースまたはテーブル |
データベースまたはテーブルの権限を削除する |
許可オプション |
データベース、テーブル、または保存されたプログラム |
許可オプションの許可 |
参照 |
|
|
変更 |
テーブル |
フィールドやインデックスなどの追加など、テーブルを変更します |
DELETE |
テーブル |
データ権限を削除します | インデックス |
テーブル |
インデックス権限 |
INSERT |
テーブル |
INSERT権限 |
| SELECT
テーブル |
クエリ権限 |
更新 |
表 |
権限を更新 |
|
ビューを作成 |
表示 |
ビュー権限を作成 |
ビューを表示 | 閲覧 |
閲覧閲覧許可 |
ALTER ROUTINE | EXECUTE |
ストアドプロシージャ |
FILE |
サーバーホストへのアクセス |
|
一時テーブルの作成 |
サーバー管理 |
|
ロックテーブル |
サーバー管理 |
|
ユーザーの作成 | サーバー管理 |
|
プロセス |
サーバー管理 |
|
リロード |
||
| フラッシュホスト、フラッシュログ、フラッシュ権限、フラッシュステータス、フラッシュテーブル、フラッシュスレッド、リフレッシュ、リロード、その他のコマンドを実行しますレプリケーションクライアント |
|
権限のコピー |
REP LICATION SLAVE |
サーバー管理 |
データベースの表示 |
サーバー管理 |
|
シャットダウン |
サーバー管理 |
|
SUPER |
サーバー管理 |
|
|
MYSQLの権限の仕組みテーブルにどのような権限を設定できるか、列にどのような権限を設定できるかが分散されています。 どのような権限などは公式ドキュメントの表から説明できます: | |
設定可能な権限 | テーブル権限 |
列の権限
プロセス権限 |
|

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。

NAVICAT自体はデータベースパスワードを保存せず、暗号化されたパスワードのみを取得できます。解決策:1。パスワードマネージャーを確認します。 2。NAVICATの「パスワードを記憶する」機能を確認します。 3.データベースパスワードをリセットします。 4.データベース管理者に連絡してください。

NAVICATプレミアムを使用してデータベースを作成します。データベースサーバーに接続し、接続パラメーターを入力します。サーバーを右クリックして、[データベースの作成]を選択します。新しいデータベースの名前と指定された文字セットと照合を入力します。新しいデータベースに接続し、オブジェクトブラウザにテーブルを作成します。テーブルを右クリックして、データを挿入してデータを挿入します。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

Passwordが暗号化された形式で保存されているため、MariadbのNavicatはデータベースパスワードを直接表示できません。データベースのセキュリティを確保するには、パスワードをリセットするには3つの方法があります。NAVICATを介してパスワードをリセットし、複雑なパスワードを設定します。構成ファイルを表示します(推奨されていない、高リスク)。システムコマンドラインツールを使用します(推奨されません。コマンドラインツールに習熟する必要があります)。

NAVICATでSQLを実行する手順:データベースに接続します。 SQLエディターウィンドウを作成します。 SQLクエリまたはスクリプトを書きます。 [実行]ボタンをクリックして、クエリまたはスクリプトを実行します。結果を表示します(クエリが実行された場合)。

手順に従って、NAVICATで新しいMySQL接続を作成できます。アプリケーションを開き、新しい接続(CTRL N)を選択します。接続タイプとして「mysql」を選択します。ホスト名/IPアドレス、ポート、ユーザー名、およびパスワードを入力します。 (オプション)Advanced Optionsを構成します。接続を保存して、接続名を入力します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。
