mysqlでユーザーの権限を設定する方法

PHPz
リリース: 2023-04-21 14:05:15
オリジナル
17677 人が閲覧しました

MySQL は一般的なリレーショナル データベース管理システムであり、多くの Web サイトやアプリケーションが MySQL を使用してデータを保存および管理しています。 MySQL アプリケーションを開発する場合、データのセキュリティと正確性を確保するために、通常はさまざまなレベルのユーザー権限を設定する必要があります。この記事では、MySQL でユーザーの権限を設定する方法を紹介します。

  1. MySQL へのログイン

ターミナルに次のコマンドを入力して、MySQL サーバーにログインします。

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

このうち、-u はユーザー名を表し、-p はパスワードの入力が必要であることを表します。パスワードが設定されていない場合は、-p パラメータを省略できます。

  1. 新しいユーザーの作成

MySQL で新しいユーザーを作成するコマンドは次のとおりです:

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

ここで、username はあなたです。作成するユーザー名、password は設定するパスワードです。 @'localhost' は、ユーザーが MySQL サーバーにローカルでのみ接続できることを示します。他のマシンから MySQL サーバーへの接続を許可する場合は、localhost% に置き換えます。

  1. ユーザーに権限を割り当てる

MySQL では、GRANT コマンドを使用して、さまざまなレベルの権限をユーザーに割り当てることができます。たとえば、次のコマンドは、ユーザー username にデータベース test に対するクエリと更新の権限を付与できます。

GRANT SELECT, INSERT, UPDATE ON test.* TO 'username'@'localhost';
ログイン後にコピー

ここで、SELECT はテーブルでの実行を意味します。クエリ操作の権限。INSERT はテーブルに対して挿入操作を実行する権限を表し、UPDATE はテーブルに対して更新操作を実行する権限を表します。 test.* は、test データベース内のすべてのテーブルが承認されていることを意味します。単一のテーブルを承認する場合は、test.*test.tablename に置き換えます。

すべてのデータベースに対するすべての操作権限をユーザーに付与する場合は、次のコマンドを使用できます:

GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
ログイン後にコピー

ALL PRIVILEGES に加えて、次のコマンドも使用できます。その他の権限 (例: SELECT,INSERT,UPDATE,DELETE,CREATE,DROP など

  1. アクセス許可の更新

ユーザーに新しいアクセス許可を割り当てる場合、そのアクセス許可を有効にするために更新する必要があります。次のコマンドを使用してアクセス許可を更新できます。

FLUSH PRIVILEGES;
ログイン後にコピー

アクセス許可を更新しないと、アクセス許可を必要とする一部の操作を実行するときに、ユーザーが「アクセスが拒否されました」エラーが発生する可能性があります。

  1. ユーザー権限の削除

ユーザーの特定の権限を取り消したい場合は、次のコマンドを使用できます:

REVOKE SELECT, INSERT ON test.* FROM 'username'@'localhost';
ログイン後にコピー

そのうち、 SELECT および INSERT は、データベース test に対するクエリおよび挿入権限がユーザー username から取り消されることを示します。同様に、test.*test.tablename に置き換えることで、単一テーブルへのユーザーのアクセスを取り消すことができます。ユーザーからすべての権限を削除する場合は、次のコマンドを使用できます。

REVOKE ALL PRIVILEGES ON *.* FROM 'username'@'localhost';
ログイン後にコピー
  1. ユーザー権限の表示

次のコマンドを使用して権限を表示できます。 MySQL のすべてのユーザーの権限:

SELECT * FROM mysql.user;
ログイン後にコピー

さらに、次のコマンドを使用してユーザーの権限を表示することもできます:

SHOW GRANTS FOR 'username'@'localhost';
ログイン後にコピー

上記のコマンドは、ユーザー ## のすべての権限を表示します。 MySQL の #username

概要

MySQL では、ユーザー権限の管理が非常に重要です。さまざまなレベルの権限を付与することで、許可されたユーザーのみがデータベース内のデータの読み取り、書き込み、変更、削除を行えるようになり、データのセキュリティと正確性が確保されます。 MySQL アプリケーションを開発するときは、不適切な権限設定によるデータ漏洩や破損を防ぐためのベスト プラクティスに従ってください。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート