あくまで一例ですので、参考までに。
パラメータ | 値 | |
---|---|---|
skip-character-set-client-handshake | 1 | |
slow_query_log | 1 | |
long_query_time | 1 | 適宜 |
log_output | FILE | |
character_set_client | utf8 | |
character_set_connection | utf8 | |
character_set_database | utf8 | |
character_set_filesystem | binary | |
character_set_results | utf8 | |
character_set_server | utf8 | |
init_connect | RDSでtime_zone設定が可能になった為削除 | |
max_connect_errors | 9223372036854775807 | |
query_cache_size | 67108864 | 任意 |
query_cache_limit | 2097152 | 任意 |
query_cache_type | 1 | 任意 |
time_zone | Asia/Tokyo | 2015/12~ |
タイムゾーン変更の為、PROCEDURE を使います。その時、タイムゾーン 専用のDB領域が必要になります。 タイムゾーンをTokyo にする場合は、init_connect のパラメータに加えて、MySQLのDB上で定義する必要があります。 RDSでは。set_timezone が利用できないためです。必ず下記に記載のタイムゾーン設定を実行後に init_connect を設定してください。 そうでないと、エラーが発生しDBが参照できなくなります。
mysql> CREATE DATABASE shared;
Query OK, 1 row affected (0.01 sec)
mysql> DELIMITER |
mysql> CREATE PROCEDURE shared.`store_time_zone`()
-> IF NOT (POSITION('rdsadmin@' IN CURRENT_USER()) = 1) THEN
-> SET SESSION time_zone = 'Asia/Tokyo';
-> END IF |
Query OK, 0 rows affected (0.01 sec)
mysql> DELIMITER ;
#設定の一次反映
mysql> CALL shared.store_time_zone;
mysql> flush privileges;
#タイムゾーン確認
mysql>select now();
CREATE DATABASE ★データベース名★ .CHARACTER SET utf8;
grant all privileges on ★データベース名★.* to ★ユーザ名★@'%' identified by '★パスワード★';
grant all privileges on ★データベース名★.* to ★ユーザ名★@'localhost' identified by '★パスワード★';
flush privileges;