この記事はアピリッツの技術ブログ「DoRuby」から移行した記事です。情報が古い可能性がありますのでご注意ください。
データベースにアクセスするユーザーを作成する場合、本来であればアクセス可能なデータベースや権限を細かく設定すべきですが、稀にフルアクセス権限を持つユーザーを作成したい場合もあると思います。
MySQLであれば
GRANT ALL ON *.* TO user@'localhost' IDENTIFIED BY 'パスワード';
とすることでフルアクセス可能なユーザーを作成することができますが、同コマンドをAmazon RDS for MySQLで実行すると
ERROR 1045 (28000): Access denied for user 'root_account'@'%' (using password: YES)
というような権限エラーが発生します。
このような場合は
GRANT ALL ON `%`.* TO user@'localhost' IDENTIFIED BY 'パスワード';
というように、 `%` で対象となるデータベースを指定することでフルアクセス可能なユーザーを作成することができます。