[MySQL] 先頭が “test_” データベース名には権限を解放
2013年1月9日
Ubuntu-12.10 の aptitude で MySQL-5.5 を入れました。
それを使って、Django のテストを行っていたら・・・おかしい!
それを使って、Django のテストを行っていたら・・・おかしい!
MySQLユーザの foouser には、foodb のデータベースにしか権限を付けていないのに
test_foodb を勝手に作ってテストを行っている・・・!?
なんだこりゃ?
“test_”のDB名は特殊扱い
原因は以下のように、”test_”プレフィックスのあるデータベース名に対しては
MySQL 側がデフォルトで権限を全開にしていました
MySQL 側がデフォルトで権限を全開にしていました
mysql> select * from mysql.db; (..他の行は略..) *************************** 2. row *************************** Host: % Db: test\_% User: Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: N Execute_priv: N Event_priv: Y Trigger_priv: Y