MySQLのGRANTで、権限を管理する
GRANTのコマンドで権限を操作することが出来ます。
権限の確認
show grants for takuya_1st
権限の付与
grant all on takuya_db.* to takuya_1st@'%'
権限の削除
revoke all on takuya_db.* from takuya_1st@'%'
追加・削除・確認を憶える
一式セットで覚えて、一式セットで使うとしっかりした設定ができます。
実際の例
権限の付与と確認
mysql> grant all on takuya.* to 'takuya'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> show grants for takuya; +----------------------------------------------------+ | Grants for takuya@% | +----------------------------------------------------+ | GRANT USAGE ON *.* TO 'takuya'@'%' | | GRANT ALL PRIVILEGES ON `takuya`.* TO 'takuya'@'%' | +----------------------------------------------------+ 2 rows in set (0.00 sec) mysql> FLUSH PRIVILEGES
ユーザー名の後ろの @%
@% は @host_name を示します。
takuya@localhost takuya@example.com takuya@192.168.2.1
など、接続元のホスト名を示します。
LIKE で使う%と同じ
takuya@%
なので全てホストですね。
権限の削除
mysql> revoke all on takuya.* from 'takuya'@'%'; Query OK, 0 rows affected (0.00 sec) mysql> show grants for takuya; +------------------------------------+ | Grants for takuya@% | +------------------------------------+ | GRANT USAGE ON *.* TO 'takuya'@'%' | +------------------------------------+ 1 row in set (0.00 sec) mysql>FLUSH PRIVILEGES
FLUSH PRIVILEGES
権限テーブルをフラッシュ(書き込み)して、設定を確実に反映させる。
確実に反映させるのに必要。
grant /revoke は英語そのまま
別になにも難しくない。 revoke / grant は英語そのままの意味で、英語そのまま使い方なのでとっても簡単に覚えられます。
revoke 権限 from ユーザー名 grant 権限 to ユーザー名 show grants fro ユーザー名
英語のSVOCそのままですね。