ユーザ追加 †webdb1というデータベースに接続可能なhogeというユーザ(パスワードはfuga)を追加する mysql> grant all privileges on webdb1.* to hoge identified by 'fuga'; Query OK, 0 rows affected (0.00 sec) このユーザはリモートからも接続可能みたいですね。ただしwebdb1というデータベースのみ。 ユーザへ権限追加。 †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)にアクセスできるようになる模様。 他のユーザの権限を見る †>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> ユーザの情報を見る †他にも以下のコマンドで権限が参照可能みたいです。 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> ユーザ情報の削除 †たとえば 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 この記事は 現在のアクセス:18113 |