web-dev-qa-db-ja.com

AWS RDS MYSQL DBサイズを縮小するにはどうすればよいですか?

重複の可能性:
AWS RDS MySQLのデータベースサイズを縮小するにはどうすればよいですか?

Amazonにmysql DBがあります。それは私が必要とするよりも大きくて、私はそんなに支払いたくありません。

どうすれば小さくできますか?彼らのサイトはあなたにそれを魔法のような方法で(バックアップなどから)しなければならないと言っていますが、私は誤ってそれをやりたくありません!

RDS DB instance storage

12
aaaaaaa

1つのアイデア(完全に調査されていないため、より良い方法があるかもしれませんが、これはうまくいくはずです):

  1. サイズが小さい新しいRDSインスタンスを作成します。
  2. 古いものを新しいものにダンプします。

    mysqldump -h <old-RDS> -u <user> -p<password> | mysql -h <new-RDS> -u <user> -p<password>
    
  3. 古いものを打つ。

もちろん、これはデータベースの合計サイズが20GB未満であり、結果としてインスタンスが小さくなることを想定していることを前提としています。全体としてデータベースのサイズを縮小しようとしている場合、それは別の問題です。

4
Christopher

インスタンスを最小5 GBのストレージに変更できます。

こちらが 関連ドキュメント です。

1
ychaze

PHP AWS SDK(http://docs.amazonwebservices.com/AWSSDKforPHP/latest/

RDSセクションを参照してください。

これらの線に沿って何かが機能する可能性があります(例から抽出、わずかに変更)。

    $rds = new AmazonRDS();

$response = $rds->create_db_instance('myInstance', 5, 'db.m1.small', 'MySQL', 'dbUser', 'dbPassword', array(
    'DBName' => 'myDatabase',
    'DBSecurityGroups' => 'default',
    'PreferredMaintenanceWindow' => 'Sun:05:00-Sun:09:00',
    'BackupRetentionPeriod' => 1,
    'PreferredBackupWindow' => '03:00-05:00',
    'MultiAZ' => true,
    'AutoMinorVersionUpgrade' => true
));

// Success?
var_dump($response->isOK())

新しいデータベースが作成されるので、元のDBをダウンサイジングした後、移行ガイドに従ってください http://aws.Amazon.com/articles/29

0
cerd