#author("2022-06-24T08:13:26+00:00","","")
// 下階層用テンプレート
#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(おもしろかった[10],そうでもない[0])
#vote(おもしろかった[11],そうでもない[0])

#comment
#topicpath


SIZE(10){現在のアクセス:&counter;}

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS