前提
RDS MySQLで正式にタイムゾーン変更ができるようになっています。
昔はできなかったので、shared.store_time_zoneを使用する方法が採用されていました。
このプロシージャーを利用する環境で一部はまったのでメモです。
// 時代がちょっと古い話なので、今後RDS新規作成する分には関係ない話ですね。
#ユーザー作成
CREATE USER 'exporter'@'%'
# 権限付与
GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'%';
# パスワード設定
SET PASSWORD FOR exporter = PASSWORD('パスワード')
# shared.store_time_zone用の権限付与
GRANT EXECUTE ON PROCEDURE shared.store_time_zone TO 'exporter'@'%';
ちなみに権限が不足していると、次のエラーが出る。
ERROR : Aborted connection **** to : 'unconnected' user: 'exporter' host: '***' (init_connect command failed)