- 追加された行はこの色です。
- 削除された行はこの色です。
// 下階層用テンプレート
#topicpath
----
//ここにコンテンツを記述します。
***ユーザ追加 [#sc565914]
webdb1というデータベースに接続可能なhogeというユーザ(パスワードはfuga)を追加する
mysql> grant all privileges on webdb1.* to hoge identified by 'fuga';
Query OK, 0 rows affected (0.00 sec)
このユーザはリモートからも接続可能みたいですね。ただしwebdb1というデータベースのみ。
***ユーザへ権限追加。 [#t001b2c3]
mysql> grant all privileges on webdb1.* to hoge identified by 'hogehoge';
Query OK, 0 rows affected (0.00 sec)
mysql> grant all privileges on webdb2.* to hoge identified by 'hogehoge';
Query OK, 0 rows affected (0.00 sec)
とやっていけば、複数のデータベース(webdb1,webdb2)にアクセスできるようになる模様。
*** 他のユーザの権限を見る [#j5acda4a]
>mysql -u root mysql
mysql> use mysql;
Database changed
mysql> select * from user;
+-------------+------+----------+-------------+-------------+--------------+------------+ 〜
| Host | User | Password | Select_priv | Insert_priv | Update_priv | Grant_priv | 〜
+-------------+------+----------+-------------+-------------+--------------+------------+ 〜
| localhost | root | | Y | Y | Y | Y | 〜
| hoge18121 | root | | Y | Y | Y | Y | 〜
| localhost | | | N | N | N | N | 〜
| hoge18121 | | | N | N | N | N | 〜
+-------------+------+----------+-------------+-------------+--------------+------------+ 〜
4 rows in set (0.01 sec)
mysql>
*** ユーザの情報を見る [#a660c748]
他にも以下のコマンドで権限が参照可能みたいです。
mysql> show grants for hoge;
+-----------------------------------------------------------------------------------------------------+
| Grants for hoge@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hoge'@'%' IDENTIFIED BY PASSWORD 'xxx' |
| GRANT ALL PRIVILEGES ON `webdb1`.* TO 'hoge'@'%' |
| GRANT ALL PRIVILEGES ON `webdb2`.* TO 'hoge'@'%' |
+-----------------------------------------------------------------------------------------------------+
3 rows in set (0.01 sec)
mysql>
***ユーザ情報の削除 [#j316365f]
たとえば
mysql> show grants for hoge;
+-----------------------------------------------------------------------------------------------------+
| Grants for hoge@% |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'hoge'@'%' IDENTIFIED BY PASSWORD 'xxx' |
| GRANT ALL PRIVILEGES ON `webdb1`.* TO 'hoge'@'%' |
| GRANT ALL PRIVILEGES ON `webdb2`.* TO 'hoge'@'%' |
+-----------------------------------------------------------------------------------------------------+
3 rows in set (0.01 sec)
の場合
revoke all on webdb1.* from hoge;
revoke all on webdb2.* from hoge;
これで各データベースへの権限情報がなくなりました。あとはユーザの削除です。
mysql> drop user hoge;
Query OK, 0 rows affected (0.00 sec)
mysql> show grants for hoge;
ERROR 1141 (42000): There is no such grant defined for user 'hoge' on host '%'
mysql>
以上で削除されました。ところでMySQL5.0で drop user hoge; したら全ての権限情報も削除されました。drop userだけでいいのかなあ??
http://www.javadrive.jp/mysql/user/index6.html
----
この記事は
#vote(おもしろかった[9],そうでもない[0])
#vote(おもしろかった[10],そうでもない[0])
#comment
#topicpath
SIZE(10){現在のアクセス:&counter;}