2011年4月1日金曜日

RDSの文字化け&タイムゾーン系パラメータの設定

スズキです。

下記のように、今まで五月雨式で書いてきたのですが、
今回はそれをまとめて形です。

"AWS SDK for PHP"の利用

RDSの"character_set_*"を"utf8"に

RDSに"skip-character-set-client-handshake"を設定

RDSでタイムゾーン(UTC)を変更

設定スクリプトはこんな感じです。

--------【PHP】--------

require_once("./sdk.class.php");

$rds = new AmazonRDS();
$rds->set_region(AmazonRDS::REGION_APAC_NE1);

$response = $rds->modify_db_parameter_group('suz-lab', array(
    array(
        "ParameterName"  => "skip-character-set-client-handshake",
        "ParameterValue" => "true",
        "ApplyMethod"    => "pending-reboot"
    ),
    array(
        "ParameterName"  => "init_connect",
        "ParameterValue" => "SET time_zone = 'Asia/Tokyo';",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_client",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_connection",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_database",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_filesystem",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_results",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    ),
    array(
        "ParameterName"  => "character_set_server",
        "ParameterValue" => "utf8",
        "ApplyMethod"    => "immediate"
    )
));

var_dump($response);

--------

RDS立ち上げたら、取り合えず、これやっとく感じかな?
--------
http://www.suz-lab.com

0 コメント: