2013-01-15 68 views
1

好 我正在嘗試使用Amazon RDS,並且在使用mysqldump及時加載InnoDB數據庫時遇到了許多麻煩。緩慢的大Innodb數據庫使用mysqldump導入亞馬遜RDS

我想讓我的本地數據庫到雲端。

使用

mysqldump --single-transaction --opt -u root > file.sql 

我可以在約3分鐘,我的本地文件獲取轉儲(1.5GB〜)。 數據庫是4G左右,但mysqldump的產生約1.5G

一個SQL文件當我使用

mysqldump -h localhost -u XXXX -pXXXX DBNAME --compress --single-transaction --quick --opt --order-by-primary| mysql --host=AMAZONHOSTNAME --user=username --password DBNAME 

它永遠 - 我估計基礎上的費率將會將需要5小時。

就我的帶寬速度而言,www.speedtest.net上我的上傳速度爲0.67Mbps。

我不明白爲什麼它採取這麼久。 我是: a)壓縮流 b)擁有論壇似乎需要的所有選項以及Amazon文檔 c)在Amazon RDS上有一個LARGE實例。

任何人都可以幫助我嗎?有什麼方法可以提高速度嗎?

+0

您受RDS的IOPS的約束。如果你沒有使用配置好的RDS,那麼你可能會「滾動」可怕的硬件,並且你的上限爲300ish IOPS(這是我上次使用RDS時獲得的數字)。除了獲得保證10k IOPS的預配RDS外,您無能爲力。 –

+0

我不認爲這是正確的 - 我只是重新檢查了我的帶寬計算 - 1.5GB在0.67兆位每秒(8兆比特每兆字節)將需要1500 * 8/0.67 = 17,910秒或/ 60或4.9小時,這正是我遇到的。我認爲它是我的帶寬? – bagnap

回答

1

我已經修復它,或者至少提高了大量的速度。

我添加到--compress mysqldump命令的遠程側

即此

mysqldump -h localhost -u XXXX -pXXXX DBNAME --compress --single-transaction --quick --opt --order-by-primary| mysql --host=AMAZONHOSTNAME --user=username --password DBNAM 

成爲本

mysqldump -h localhost -u XXXX -pXXXX DBNAME --compress --single-transaction --quick --opt --order-by-primary| mysql --compress --host=AMAZONHOSTNAME --user=username --password DBNAM 

的數據傳輸速率(如由增加的尺寸測量我的遠程數據庫)從每分鐘13MB左右降到每分鐘73MB左右。