1. MySQL ユーザー管理[例1.1] ローカルMySQLサーバーのテストデータベースにrootユーザーとしてログインする mysql -uroot -p -hlocalhost テスト [例1.2] ルートユーザーを使用してローカルMySQLサーバーのテストデータベースにログインし、クエリステートメントを実行します。 mysql -uroot -p -hlocalhost test -e "DESC 人;" [例 1.3] CREATE USER を使用して、ユーザー名 jeffrey、パスワード mypass、ホスト名 localhost のユーザーを作成します。 'mypass' によって識別されるユーザー 'jeffrey'@'localhost' を作成します。 [例 1.4] GRANT ステートメントを使用して、パスワードが testpwd の新しいユーザー testUser を作成します。ユーザー testUser には、すべてのデータに対するクエリおよび更新権限があり、すべてのデータ テーブルに対する SELECT および UPDATE 権限が付与されています。 GRANT SELECT,UPDATE ON *.* TO 'testUser'@'localhost' IDENTIFIED BY 'testpwd'; /*アカウントを作成し、権限を付与する*/ SELECT Host,User,Select_priv,Update_priv, FROM mysql.user where user='testUser'; /*アカウント権限情報を表示*/ [例 1.5] INSERT を使用して、ユーザー名 customer1、ホスト名 localhost、パスワード customer1 の新しいアカウントを作成します。 INSERT INTO user (ホスト、ユーザー、パスワード) VALUES('localhost'、'customer1'、PASSWORD('customer1')); [例 1.6] DROP USER を使用してユーザー 'jeffrey'@'localhost' を削除します。 ユーザー 'jeffrey'@'localhost' を削除します。 [例 1.7] DELETE を使用してユーザー 'customer1'@'localhost' を削除します。 DELETE FROM mysql.user WHERE host='localhost' and user='customer1'; [例 1.8] mysqladmin を使用して、root ユーザーのパスワードを "rootpwd" に変更します。 mysqladmin -u root -p パスワード "123456" [例 1.9] UPDATE ステートメントを使用して、root ユーザーのパスワードを "rootpwd2" に変更します。 mysql.user を更新して、Password=password("rootpwd2") を設定します。 ここで、User="root"、Host="localhost"; [例 1.10] SET ステートメントを使用して、root ユーザーのパスワードを "rootpwd3" に変更します。 パスワードを設定する=password("rootpwd3"); [例 1.11] SET ステートメントを使用して、testUser ユーザーのパスワードを "newpwd" に変更します。 'testUser'@'localhost' のパスワードを設定する = password("newpwd"); [例 1.12] UPDATE ステートメントを使用して、testUser ユーザーのパスワードを "newpwd2" に変更します。 mysql.user を更新して、Password=PASSWORD("newpwd2") を設定します。 ここで、User="testUser" および Host="localhost"; [例 1.13] GRANT ステートメントを使用して、testUser ユーザーのパスワードを "newpwd3" に変更します。 [例 1.14] testUser ユーザーは SET ステートメントを使用してパスワードを "newpwd4" に変更します。 パスワードの設定 = PASSWORD("newpwd4"); [例 1.15] GRANT ステートメントを使用して、パスワードが「grantpwd」の新しいユーザー grantUser を作成します。ユーザー grantUser には、すべてのデータに対するクエリおよび挿入権限があり、GRANT 権限が付与されます。 GRANT ステートメントとその実行結果は次のとおりです。 MySQL> GRANT SELECT、INSERT ON *.* TO 'grantUser'@'localhost' IDENTIFIED BY 'grantpwd' WITH GRANT OPTION; クエリは正常、影響を受けた行は 0 行 (0.03 秒) 結果は実行が成功したことを示しています。SELECT ステートメントを使用して、ユーザー testUser2 の権限を照会します。 MySQL> SELECT Host,User,Select_priv,Insert_priv, Grant_priv FROM mysql.user where user='grantUser'; +-----------+-------------+-------------+--------------+--------------+ | ホスト | ユーザー | Select_priv | Insert_priv | Grant_priv | +-----------+-------------+--------------+--------------+--------------+ | ローカルホスト | testUser2 | Y | Y | Y | +-----------+-------------+--------------+--------------+--------------+ セット内の 1 行 (0.00 秒) [例 1.16] REVOKE ステートメントを使用して、ユーザー testUser の更新権限を取り消します。 REVOKE ステートメントとその実行結果は次のとおりです。 MySQL> 'testUser'@'localhost' からの *.* の更新を取り消します。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) 実行結果は、実行が成功したことを示しています。SELECT ステートメントを使用して、ユーザー test の権限を照会します。 MySQL> SELECT Host,User,Select_priv,Update_priv,Grant_priv FROM MySQL.user where user='testUser'; [例 1.17] SHOW GRANTS ステートメントを使用して、ユーザー testUser の権限情報を照会します。 SHOW GRANTS ステートメントとその実行結果は次のとおりです。 MySQL> 'testUser'@'localhost' の権限を表示します。 ケース操作プロセス MySQL クライアント ツールを開き、ログイン コマンドを入力して MySQL にログインします。 C:\>mysql -u ルート -p パスワードを入力してください: ** 正しいパスワードを入力して Enter キーを押します。ログインが成功したことを示すウェルカム メッセージが表示されます。 現在のデータベースとしてmysqlデータベースを選択します。 MySQL> mysql を使用します。 データベースが変更されました データベースの切り替えが成功したことを示す「データベースが変更されました」というメッセージが表示されます。 ユーザー名 newAdmin とパスワード pw1 を使用して新しいアカウントを作成し、ローカル ホストから MySQL にアクセスできるようにします。 GRANT ステートメントを使用して新しいアカウントを作成します。作成プロセスは次のとおりです。 MySQL> GRANT SELECT、UPDATE(id、name、age) -> ON test_db.person_old -> 宛先 'newAdmin'@'localhost' 識別名 'pw1' -> MAX_CONNECTIONS_PER_HOUR 30 の場合; SELECT host、user、select_priv、update_priv FROM user WHERE user='newAdmin'; ホスト、DB、ユーザー、テーブル名、テーブル権限、列権限を選択します。 tables_priv から user='newAdmin' を指定します。 ホスト、DB、ユーザー、テーブル名、列名、列権限を選択します。 columns_priv から user='newAdmin' を指定します。 3 つの SQL ステートメントのクエリ結果は次のとおりです。 MySQL> SELECT host、user、select_priv、update_priv FROM user WHERE user='newAdmin'; MySQL> ホスト、データベース、ユーザー、テーブル名、テーブル権限、列権限を選択します -> tables_priv から user='newAdmin'; MySQL> ホスト、データベース、ユーザー、テーブル名、列名、列権限を選択します -> columns_priv から user='newAdmin'; SHOW GRANTS ステートメントを実行して、newAdmin の権限情報を表示します。 newAdmin アカウントの権限情報を表示するには、次のステートメントを入力します。 'newAdmin'@'localhost' の権限を表示します。 newAdmin ユーザーを使用して MySQL にログインします。 現在のログインを終了するには、EXIT コマンドを使用します。ステートメントは次のとおりです。 MySQL>終了 さよなら newAdmin アカウントを使用して MySQL にログインします。ステートメントは次のとおりです。 C:\>MySQL -u 新しい管理者 -p パスワードを入力してください: *** 正しいパスワードを入力すると、「mysql>」プロンプトが表示され、ログインが成功します。 newAdmin ユーザーを使用して、test_db データベースの person_dd テーブルのデータを表示します。 newAdmin ユーザーには、テスト データベースの person テーブルの 3 つのフィールドに対するクエリ権限が付与されているため、SELECT ステートメントを実行してこれらのフィールドの値を表示できます。実行プロセスは次のとおりです。 MySQL> SELECT * FROM test_db.person_dd LIMIT 5; newAdmin ユーザーを使用して、person_dd テーブルに新しいレコードを挿入し、ステートメントの実行結果を表示します。 新しいレコードを挿入するには、次のステートメントを入力します。 test_db.person_old(name, age,info) に VALUES('gaga', 30) を挿入します。 実行結果は次のとおりです。 エラー 1142 (42000): テーブル 'person' に対するユーザー 'newAdmin'@'localhost' への INSERT コマンドが拒否されました ご覧のとおり、ステートメントは実行できず、エラー メッセージは newAdmin ユーザーが person テーブルにエントリを挿入できないことを示しています。したがって、ユーザーは不正な操作を実行することはできません。 現在のアカウントからログアウトし、ルート ユーザーとして再度ログインして、新しい管理者アカウントの権限を取り消します。 終了コマンドを入力します: exit 再度、MySQL に root ユーザーとしてログインし、mysql データベースを現在のデータベースとして選択します。 newAdmin アカウントの権限を取り消すステートメントを入力します。実行プロセスは次のとおりです。 'newAdmin'@'localhost' からの test.person の SELECT、UPDATE を取り消します。 実行結果は次のとおりです。 MySQL> test.person の SELECT と UPDATE を取り消します ('newAdmin'@'localhost' から)。 クエリは正常、影響を受けた行は 0 行 (0.00 秒) newAdminのアカウント情報を削除します。 指定したアカウントを削除するには、DROP USER ステートメントを使用して次のように入力します。 ユーザー 'newAdmin'@'localhost' を削除します。 2. PostgreSQLユーザー管理2.1 グループロール管理 [例 2.1] post2 という名前のロールを作成します。SQL コードは次のとおりです。 ロール post2 を作成します。 [例 2.2] システム内のロールを確認します。SQL コードは次のとおりです。 pg_rolesからrolnameを選択します。 [例 2.3] ロール名 post1 を post3 に変更します。 SQL ステートメントは次のとおりです。 ロール post1 を変更して post3 に名前を変更します。 【例2.4】ロールpost3を削除します。 SQL ステートメントは次のとおりです。 ロールポスト3を削除します。 2.2 ロールのさまざまな権限 1. ログイン [例 2.5] ログイン権限を持つロール post4 を作成します。 SQL ステートメントは次のとおりです。 ロール post4 ログインを作成します。 2スーパーユーザー [例 2.6] スーパーユーザー権限を持つロール post5 を作成します。 SQL ステートメントは次のとおりです。 ロール post5 スーパーユーザーを作成します。 3. データベースを作成する [例 2.7] データベースを作成する権限を持つロール post6 を作成します。 SQL ステートメントは次のとおりです。 ロール post6 CREATEDB を作成します。 4. キャラクターを作成する ロールを作成するには、この権限を明示的に付与する必要があります (スーパーユーザーを除く)。ロールに CREATEROLE 権限が付与されると、他のロールを変更および削除したり、他のロールへのメンバーシップを付与または取り消したりできるようになります。もちろん、スーパーユーザーで操作したい場合は、この権限だけでは不十分で、SUPERUSER 権限が必要です。 ロールを作成する権限を持つロールを作成します。SQL 構文は次のとおりです。 CREATE ROLE 名 CREATEROLE; [例 2.8] データベースを作成する権限を持つロール post7 を作成します。 SQL ステートメントは次のとおりです。 ロール post7 CREATEROLE を作成します。 5. パスワード クライアント認証方法でデータベースへの接続が必要な場合は、パスワード認証が必要です。一般的な認証方法には、パスワード、md5、crypt などがあります。 パスワード権限を持つロールを作成します。SQL 構文は次のとおりです。 ロール名の作成 パスワード認証方法固有のパスワード [例 2.9] パスワード権限を持つロール post8 を作成します。 SQL ステートメントは次のとおりです。 ロール post8 を作成します。パスワード '123456'; 2.3 アカウント管理 1. ユーザーを作成する [例 2.10] データベースとロールを作成する権限を持ち、ログイン パスワードが「123456789」である postgre02 という名前のユーザーを作成します。 SQL ステートメントは次のとおりです。 ユーザー postgre02 を作成 パスワード '123456789' CREATEDB CREATEROLE ; 2. ユーザーを削除する [例 2.11] DROP USER を使用してアカウント "postgre02" を削除します。SQL ステートメントは次のとおりです。 DROP USER postgre02; 3. ユーザーパスワードを変更する [例 2.12] アカウント「postgre01」のパスワードを「123123」に変更します。SQL 文は次のようになります。 ALTER USER postgre01 パスワード '123123'; 2.4 グループロールとユーザーロールの管理 1. グループロールを承認する [例 2.13] テーブルとロールを作成する権限を「post1」ロールに追加します。SQL ステートメントは次のとおりです。 ロール post1 を CREATEDB CREATEROLE に変更します。 2. ユーザー認証 [例 2.14] 「postgre01」ユーザーにテーブルとロールを作成する権限を追加します。SQL ステートメントは次のとおりです。 ALTER USER postgre01 でデータベース CREATEDB CREATEROLE を作成します。 3. グループロールの権限を取り消す [例 2.15] 「post1」ロールのテーブル作成権限とロール作成権限を取り消します。SQL 文は次のようになります。 ロール post1 を変更します。NOCREATEDB NOCREATEROLE; 4. ユーザー権限を取り消す [例 2.16] ユーザー「postgre01」からテーブルとロールを作成する権限を取り消します。SQL ステートメントは次のようになります。 ALTER USER postgre01 NOCREATEDB NOCREATEROLE; 2.5 データベース権限管理 1. データベースの所有者を変更する [例 2.17] 「mytest」データベースの所有者を post1 に変更します。 SQL ステートメントは次のとおりです。 データベース mytest の所有者を post2 に変更します。 2. ユーザーのデータテーブル権限を増やす [例 2.18] ppo1 は既存のデータ テーブル、postgres は既存のユーザーであり、postgres は ppo1 データ テーブルを更新する権限を持っています。テーブル権限を更新するには、次のコマンドを使用します。 ppo1 に対する更新権限を postgres に付与します。 上記の文を次のように変更します。 ppo1 の更新を一般公開します。 これは、データ テーブル ppo1 の更新権限がシステム内のすべてのロールに付与されることを意味します。 上記の文を次のように変更します。 ppo1 のすべての権限を postgres に付与します。 これは、オブジェクトに適用可能なすべての権限がユーザー postgres に付与されることを意味します。 上記は私の個人的な経験です。参考になれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。間違いや不備な点がありましたら、遠慮なくご指摘ください。 以下もご興味があるかもしれません:
|
<<: HTML テーブルタグチュートリアル (21): 行の境界線の色属性 BORDERCOLOR
>>: docker view container log コマンドの実装
ここでは、samba (ファイル共有サービス) v4.9.1 + OPENldap (バックエンド ...
1 ダウンロードアドレスは https://dev.mysql.com/downloads/mysq...
大規模なシステムに取り組んだことがある人なら誰でも、ログの役割を過小評価してはならないことを知ってい...
序文:年末です。データベースを検査する時期ではないでしょうか?一般的に、検査では、パスワードの複雑さ...
多くの場合、ストアド プロシージャを作成するときに配列がよく使用されますが、MySQL ではストアド...
これまでは、拡張子が .msi のファイル、つまり、完全なインストールが使用されていました。しかし、...
一般的に、MySQL はデフォルトでさまざまなストレージ エンジンを提供しており、次のように表示され...
Nginx を使用して同じドメイン名で複数のプロジェクトを構成するには、次の 2 つの方法があります...
序文この記事は主に、MYSQL でランキングを実現し、指定ユーザーランキング関数 (並列ランキング関...
目次1. Maven 依存関係2. メニュー関連クラス1. メインメニュー2. サブメニュー3. S...
数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...
水平スクロールはあらゆる状況に適しているわけではありませんが、適切に行えば、Web サイトを他のサイ...
VMware ツールは VMware の使用に非常に便利です。そのため、VMware ツールをインス...
成果を達成する 実装コードhtml <h1 class="text-light&qu...
入力が進行中かどうかを検出するには、「onInput(event)」を使用しますコンテンツが変更され...