無料Wikiサービス | デモページ
Linuxなどのメモ書き
検索

Adsense

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の権限に関する詳細:http://dev.mysql.com/doc/refman/4.1/ja/grant.html

動作


$ 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'

他のデータベースは操作不可



最終更新 2009/06/10 16:24:27 - kztomita
(2009/06/10 16:24:27 作成)