2013-02-08 59 views
3

在導入一個數據庫,以我的亞馬遜RDS比如我已經發表瞭如下錯誤:導入數據庫:在667線2006年錯誤(HY000):MySQL服務器已消失

ERROR 2006 (HY000) at line 667: MySQL server has gone away

我去提前嘗試將interative_timeout設置更改爲更大的數字。但是,它只會讓我爲會話設置,而亞馬遜不允許爲全局會話設置它。

如何將更大的數據庫導入到我的亞馬遜的rds實例中?

+0

你終於找到一個這樣的鍛鍊?我遇到了同樣的問題 – macool 2014-04-05 18:17:03

+0

這對其他人有幫助:https://stackoverflow.com/a/23832059/1252307 – kev 2017-10-05 23:45:03

回答

0

documentation給出瞭如何導入大型數據集的說明。通常,最好的方法是創建平面文件並將其導入到您的RDS實例中。

我最近完成了一個超過120GB大小的數據庫從物理服務器到RDS的遷移。我將每個表格都轉儲到一個平面CSV文件中,然後將較大的文件分割成多個1GB大小的部分。然後我將每張表導入RDS。

0

您可以使用參數組設置簡單地更改RDS DB大小設置。大多數MSQL設置都在那裏。但是,它需要重新啓動實例。你需要的設置是max_allowed_pa​​cket,你不僅需要在客戶端進行設置,而且需要在服務器本身進行設置。

0

下面是我做到這一點,請介意我的數據庫不是很大(最大的一個是1.5G)。

首先轉儲現有的數據庫(S):

mysqldump [database_name] --master-data=2 --single-transaction --order-by-primary -uroot -p | gzip > /mnt/dumps/[database_name].sql.gz 

可以將此文件然後轉移到具有許可使用的東西來訪問您的RDS例如像scp Amazon EC2實例。一旦文件位於您的Amazon EC2實例上,您應該使用以下方法解壓:

gzip [database_name].sql.gz -d 
#you should now have a file named [database_name].sql in your directory. 
mysql -uroot -p -h=[rds-instance] 
source [database_name].sql 

然後它應該開始導入。該信息位於其documentation

相關問題