MySQL 特定DBへのみアクセス可能なユーザの作成
Rev.1を表示中。最新版はこちら。
概要
あるDBへのみ自由にアクセス可能なユーザの作成する。(PleskからDBユーザを追加した時に近い動作)
設定
以下のコマンドでsampleユーザ(localhostからのみ接続許可)を作成して、sampleデータベースに対してALL権限を与えることができる。
mysql> GRANT ALL ON sample.* TO sample@localhost IDENTIFIED BY "pass"; Query OK, 0 rows affected (0.01 sec)
- ALL権限で、WITH GRANT OPTION以外の全ての権限を付与
- 権限の付与先はsample.*でsampleデータベースに対してデータベースレベルの権限に設定
動作
$ mysql -u sample -p <-- 作成したsampleユーザで接続 Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 9 to server version: 4.1.22 Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> show databases; +----------+ | Database | +----------+ | test | +----------+ 1 row in set (0.00 sec) 他のデータベースは閲覧できない
mysql> create database sample; Query OK, 1 row affected (0.00 sec) mysql> CREATE TABLE account (id SERIAL, name VARCHAR(20) NOT NULL); Query OK, 0 rows affected (0.06 sec) sampleデータベースは作成してテーブルの作成等を行える mysql> create database sample2; ERROR 1044 (42000): Access denied for user 'sample'@'localhost' to database 'sample2' 他のデータベースは操作不可