将数据库导入我的amazon rds实例时,我发出了以下错误:
ERROR 2006(HY000)第667行:MySQL服务器已经消失
我继续尝试将interative_timeout
设置更改为更大的数字。但是,它只会让我为会话设置,亚马逊不允许为全局会话设置它。
如何将更大的数据库导入我的亚马逊rds实例?
答案 0 :(得分:0)
documentation提供了有关如何导入大型数据集的说明。通常,最好的方法是创建平面文件并将其导入到RDS实例中。
我最近完成了从物理服务器到RDS的大小超过120GB的数据库迁移。我将每个表转储到一个平坦的CSV文件中,然后将较大的文件拆分为多个1GB大小的部分。然后我将每个表导入RDS。
答案 1 :(得分:0)
您只需使用参数组设置更改RDS数据库大小调整设置即可。大多数MSQL设置都在那里。但是,它需要重新启动实例。您需要的设置是max_allowed_packet,您不仅需要使用客户端设置它,还需要在服务器本身设置它。
答案 2 :(得分:0)
以下是我的做法,请注意我的数据库并不是很大(最大的数据库是1.5G)。
首先转储现有数据库:
mysqldump [database_name] --master-data=2 --single-transaction --order-by-primary -uroot -p | gzip > /mnt/dumps/[database_name].sql.gz
然后,您可以使用scp之类的内容将此文件传输到有权访问RDS实例的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。
中