コマンドやphpMyAdminで複数のデータベースに接続できるユーザーを作成する方法

MySQLの接続ユーザーに、新たに別のデータベースに特権を付与するやり方をコマンドとphpMyAdminそれぞれの方法で説明します。

[参考記事] CakePHPで複数のデータベースを切り替える方法(別データベースを使用する)

別のデータベースに新たに特権を付与する方法
特定のデータベースから特権を削除する方法
ユーザーを削除する方法

別のデータベースに新たに特権を付与する方法

SQLコマンド

GRANT 【特権】 ON  `【データベース名】` . * TO  【ユーザー名】@【ホスト】;

他のユーザーを操作できる権限を与える(権限委譲)には『WITH GRANT OPTION』を付けます。

GRANT 【特権】 ON  `【データベース名】` . * TO  【ユーザー名】@【ホスト】 WITH GRANT OPTION;

全てのホストなら
GRANT SELECT , INSERT , UPDATE , DELETE ON  `common¥_db` . * TO  'test_user'@%;

ローカルホストなら
GRANT SELECT , INSERT , UPDATE , DELETE ON  `common¥_db` . * TO  'test_user'@'localhost';

権限委譲するなら
GRANT ALL PRIVILEGES ON  `common¥_db` . * TO  'test_user'@'localhost' WITH GRANT OPTION;

注意:全てのホストとローカルホストはそれぞれ別の権限です。

『 _(アンダーバー)』が含まれるときはワイルドカードになるので¥でエスケープします。

phpMyAdmin

phpMyAdminのトップから『特権』を選択します。
(データベースの画面からではありません)


ユーザーを選択して、『操作』から『特権を編集』ボタンをクリックします。


『データベースに固有の特権』から『データベースに特権を追加』で新たに特権を付与するデータベースを選択します。


付与する特権を選択して『実行する』ボタンをクリックします。

不正利用などのトラブルを防ぐために、なるべく最低限の権限のみを与えるようにします。

特定のデータベースから特権を削除する方法

SQLコマンド

特権を削除するコマンドは『REVOKE』です。

REVOKE ALL PRIVILEGES ON  `common¥_db` . * FROM  'test_user'@'localhost';

権限委譲されているなら次のコマンドも実行します。

REVOKE GRANT OPTION ON  `common¥_db` . * FROM  'test_user'@'localhost';

phpMyAdmin

『データベースに固有の特権』から権限を削除するデータベースの『操作』から『取り消し』ボタンをクリックします。

ユーザーを削除する方法

SQLコマンド

DROP USER 'test_user'@'localhost';

phpMyAdmin

削除したいユーザーにチェックを入れて、『実行する』ボタンをクリックします。

関連記事

スポンサーリンク

サブクエリー SELECT文中のSELECT命令

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る