MySQL
 Computer >> コンピューター >  >> プログラミング >> MySQL

MySQLで特定のユーザーによるスキーマへのアクセスを禁止する方法

MySQLで特定のスキーマへのアクセスを制限する手順

特定のユーザーが特定のスキーマ(データベース)にアクセスできないようにするには、DELETEコマンドを使って権限情報を削除します。基本となる構文は以下の通りです。

DELETE FROM mysql.db WHERE Db IN("yourSpecificSchema","yourSpecificSchema\_%")
    AND User = "yourUserName" AND Host = "yourHostName";

それでは、この構文を実際に使って、ユーザーの特定スキーマへのアクセスを禁止してみましょう。まずはじめに、mysql.userテーブルから登録されているすべてのユーザーとホストを確認します。

mysql> select user,host from mysql.user;

このクエリを実行すると、次のような結果が出力されます。

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| User2            | %         |
| mysql.infoschema | %         |
| mysql.session    | %         |
| mysql.sys        | %         |
| root             | %         |
| @UserName@       | localhost |
| Adam Smith       | localhost |
| Chris            | localhost |
| David            | localhost |
| James            | localhost |
| John             | localhost |
| John Doe         | localhost |
| User1            | localhost |
| am               | localhost |
| hbstudent        | localhost |
| mysql.infoschema | localhost |
| mysql.session    | localhost |
+------------------+-----------+
18 rows in set (0.00 sec)

ここでは例として、「localhost」ホストから接続しているユーザー「Chris」に対して、「sample」という名前のスキーマへのアクセスを禁止します。

mysql> DELETE FROM mysql.db WHERE Db IN("sample","sample\_%") AND User="Chris" AND Host="localhost";
Query OK, 0 rows affected (0.00 sec)

上記のクエリを実行した後は、FLUSH PRIVILEGESを実行して権限情報を再読み込みし、変更を反映させる必要があります。

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.06 sec)

補足:REVOKEステートメントとの違い

権限の剥奪には一般的にREVOKEステートメントを使用するのが推奨されていますが、mysql.dbテーブルから該当するレコードを直接削除することでも、同様にアクセスを拒否できます。いずれの方法を使う場合でも、変更を確実に反映させるためにFLUSH PRIVILEGESの実行を忘れないようにしましょう。

  1. Windows 10でアプリによる位置情報へのアクセスを無効にする方法

    Windowsでは、多くのアプリケーションが「位置情報」機能にアクセスできるようになっています。この機能は、リマインダーや地図アプリなど、現在地をもとにより関連性の高い情報を提供してくれるため便利です。しかし、プライバシーが気になる場合は、アプリによる位置情報機能の利用を無効にすることも可能です。本記事では、アプリの位置情報アクセスを設定・制限するための複数の方法をご紹介します。「設定」アプリから位置情報アクセスを無効にする方法Windowsの「設定」は、ユーザーがOSをカスタマイズ・構成するための標準的なコンポーネントです。コントロールパネルと似た役割ですが、より分かりやすくカテゴリ分けされ

  2. Windows 10でアプリによるカメラへのアクセスを無効にする3つの方法

    最近のノートパソコンやタブレットの多くにはカメラが標準搭載されています。Windows 10にもカメラ機能が備わっており、インストールしたアプリケーションからアクセスできる仕組みになっています。しかし、すべてのアプリにカメラへのアクセスを許可したくないユーザーもいれば、そもそもどのアプリにもカメラを使わせたくないという方もいるでしょう。本記事では、アプリによるカメラへのアクセスを防止するための複数の方法をご紹介します。システム上のアプリに対してカメラアクセスを無効にする方法はいくつかあります。まず基本となるのが、Windowsの設定からプライバシー設定を変更する標準的な方法です。より詳細なオプ