[MySQL] 権限の複製
他のDBのユーザーの権限を複製したいとき、SHOW GRANTS 構文を使えば楽できる。これ良いな。
MySQL :: MySQL 5.6 リファレンスマニュアル :: 13.7.5.22 SHOW GRANTS 構文
例えばhogeというホストのejiユーザーに与えられている権限と同じ権限を付与するためのSQLを取得したかったら、以下のSQLを投げれば良い。パスワードは暗号化されているので、適切なものに置き換えれば良い。
mysql> SHOW GRANTS FOR 'eji'@'hoge'; +---------------------------------------------------------------------------------+ | Grants for eji@hoge | +---------------------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'eji'@'hoge' IDENTIFIED BY PASSWORD '...' WITH GRANT OPTION | +---------------------------------------------------------------------------------+ 1 row in set (0.00 sec) mysql>
本番環境のDBのユーザーと同じユーザーを開発環境のDBに作りたいときにとっても役に立った。
MySQLはまだよく分からん機能があるな。