MySQL でユーザーにさまざまな権限を割り当てる方法

PHPz
リリース: 2023-04-20 10:34:47
オリジナル
1823 人が閲覧しました

MySQL は、大量のデータの保存と管理に使用できる一般的なリレーショナル データベース管理システムです。 MySQL では、管理者は異なるデータベースやテーブルに対して異なる操作を実行できるように、異なるユーザーに異なる権限を割り当てる必要があります。この記事では、ユーザーにさまざまな MySQL 権限を割り当てる方法を紹介します。

  1. MySQL にログイン

コマンド ライン インターフェイスで次のコマンドを入力して MySQL にログインします:

mysql -u root -p
ログイン後にコピー

「-u」オプションは、使用されるユーザー名を指定するために使用されます。「root」は管理者ユーザー名です。「-p」オプションは、ユーザーがログインする前にパスワードの入力を要求するように MySQL に指示します。 MySQL にログインするときは、正しいパスワードを入力する必要があります。

  1. ユーザーの作成

次のコマンドを使用して新しいユーザーを作成します。

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'password';
ログイン後にコピー

「new_user」は新しいユーザーのユーザー名です。ユーザーには、ランダムな名前を使用するのではなく、覚えやすいユーザー名が割り当てられます。 「localhost」は、このユーザーの IP アドレスを localhost のみに制限することを意味します。このユーザーが外部ホストからデータベースにアクセスできるようにする場合は、代わりに「%」記号を使用します。最後に、「パスワード」は新しいユーザーのパスワードであり、新しいユーザーには安全なパスワードを設定する必要があります。

  1. アクセス許可の割り当て

アクセス許可の割り当てには 2 つの側面が含まれます。1 つはユーザーが操作できるデータベースとテーブルにアクセス許可を割り当てること、もう 1 つは MySQL を割り当てることです。ユーザーに対するサーバー権限、グローバル権限。

ユーザーに特定のデータベースおよびテーブルの権限を付与します:

GRANT 权限 ON 数据库名.数据表名 TO 'user_name'@'访问来源';
ログイン後にコピー

このうち、「権限」とは、SELECT、INSERT、DELETE、UPDATE、ALL PRIVILEGES など、付与される特定の操作権限を指します。 ; " user_name " は権限を割り当てるユーザー名です。 " access source " はユーザーのアクセス元を指します。たとえば、「localhost」はローカル ホスト上にあることを意味し、「%」記号はユーザーが任意のアドレスからリソースにアクセスできることを意味します。

データベース操作権限を付与するステートメントの例:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON test_db.* TO 'new_user'@'localhost';
ログイン後にコピー

テーブル操作権限を付与するステートメントの例:

GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER ON test_db.test_table TO 'new_user'@'localhost';
ログイン後にコピー

MySQL Server 上のユーザーにグローバル権限を付与する:

GRANT 权限 ON *.* TO 'user_name'@'access_mode';
ログイン後にコピー

このうち「.」はグローバル権限を表します。たとえば、次のコマンドを使用して、新しいユーザーにすべてのデータベースとテーブルに対するすべての権限を付与します。

GRANT ALL PRIVILEGES ON *.* TO 'new_user'@'localhost';
ログイン後にコピー
  1. 権限の取り消し

同様に、管理者は、次のユーザーからの権限を取り消す必要があります。ユーザーの場合は、次のステートメントを使用できます。

REVOKE 权限 ON 数据库名.数据表名 FROM 'user_name'@'访问来源';
ログイン後にコピー

構文は GRANT に似ています。たとえば、次のコマンドは、ユーザー「new_user」からすべてのグローバル権限を取り消します。

REVOKE ALL PRIVILEGES ON *.* FROM 'new_user'@'localhost';
ログイン後にコピー

要約

MySQL では、管理者は異なるデータベースとアクセスできるように、異なるユーザーに異なる権限を割り当てる必要があります。テーブルはさまざまな操作を実行します。 GRANT ステートメントと REVOKE ステートメントを使用すると、管理者はユーザーが実行できるアクションを制御できます。

以上がMySQL でユーザーにさまざまな権限を割り当てる方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!