まず、2011/5/17現在、
RDSではtime_zoneの設定は出来ない。
USTの時刻がデフォルトとなっており、time_zoneは編集不可項目となっている。
参照:https://forums.aws.amazon.com/thread.jspa?threadID=38273 のNick@AWSさんの回答より。
代替案として次を試してみた。
1. mysqlのコマンドから直接指定する。
2. init_connectに、set time_zone = 'Asia/Tokyo'; を設定する。
ひとつずつ見ていくと、、、
1. mysqlのコマンドから直接指定する。
まず、mysqlから GLOBAL time_zone を指定しようとすると、権限で怒られる。
mysql> SET GLOBAL time_zone = '+9:00';
ERROR 1227 (42000): Access denied; you need the SUPER privilege for this operation
ただし、GLOBALじゃない、セッション毎の設定であればOK。
mysql> set time_zone = '+9:00';
Query OK, 0 rows affected (0.00 sec)
でも、これを毎回叩くのはどうだろう。プログラム側で対応しないといけないし、、、
う〜む。
こちらを参考にさせて頂きました。ありがとうございます。
ということで次。
2. init_connectに、set time_zone = 'Asia/Tokyo'; を設定する。
これは、、、うまくいかなかった。
こちら↓を参照させて頂いてPHPスクリプトで、parameter group に設定しました。
が、DBにつながらなくなってしまいました。。
厳密にはDBにはつながるのですが、SQLとか全て受け付けない、、、
mysql> show databases;
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id: 19
Current database: *** NONE ***
ERROR 2013 (HY000): Lost connection to MySQL server during query
これでうまくいく環境もあるようですが、自分のところではダメでした。。
下記で同じ症状になっている方がいるようです。どうもリブートするとダメとか。
で、結論としては、タイムゾーンの設定はとりあえずプログラム側で、という切ない感じで。。
今後解決されることを切に願うばかりです、、、
誰かうまいやり方をされている方がいらっしゃいましたら、教えていただけると嬉しいですm(__)m
こちらに、プログラムでの対応案が書かれています。
0 件のコメント:
コメントを投稿