【问题标题】:Uploading large mysql database on AWS RDS using putty - 'MySQL server has gone away'使用 putty 在 AWS RDS 上上传大型 mysql 数据库 - “MySQL 服务器已消失”
【发布时间】:2012-09-12 22:54:29
【问题描述】:

我正在使用亚马逊网络服务,我已经设置了 EC2 和 RDS 并安装了 apache、php、mysql、phpmyadmin。

我可以导入小的 sql 文件(我还设置了 worpdress 并为此导入了一个 sql db)但是当我尝试使用 putty 导入一个 200mg 的 sql 文件时,我得到了

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

经过一些研究,似乎增加 DB 参数组 中的 ma​​x_allowed_pa​​cketwait_timeoutnet_read_timeout 会有所帮助,但它没有(我在进行更改后确实重新启动,我还使用 RightScale 仪表板将它们设置为最大允许值)。

还有什么我应该注意的可能导致这种情况的吗?

我也尝试了 bigdump.php,但没有成功。

我猜有很多人使用 aws 上传大型 mysql 数据库,所以这有点让我发疯。

【问题讨论】:

  • 您是在 EC2 机器上还是从本地机器上尝试这个?
  • 我正在使用 Putty 从我的本地计算机上尝试。

标签: mysql amazon-web-services


【解决方案1】:

我遇到了同样的问题:

  1. 转到您的 RDS 仪表板并点击 Parameter Groups
  2. 点击创建数据库参数组,将其命名为“LargeImport”(确保您选择的数据库参数组系列与您的实例版本匹配)并编辑参数。
  3. 增加“LargeImport”上的“ma​​x_allowed_pa​​cket”以适应您的导入大小(有效值为 1024-1073741824)。
  4. 增加“wait_timeout”参数以适应您的导入大小。 (有效值为 1-31536000 秒)。
  5. 保存您的更改。
  6. 点击左侧栏中的Instances,然后选择您的实例。
  7. 点击Instance Actions并选择Modify
  8. Parameter Group更改为新的“LargeImport”组,然后点击Continue
  9. 点击“修改数据库实例”。
  10. 更改完成后,再次点击Instance Actions并重启您的实例。

一旦您的实例重新启动,您应该能够执行更大的 sql 导入。

完成导入后,将实例参数组切换回默认参数组并重新启动。

希望这会有所帮助。

【讨论】:

  • 像魅力一样工作!!
  • 如果您的导入文件是从mysqldump 生成的,那么请确保my.cnf 中的max_allowed_packet
  • 确保您重新启动。一个简单的修改是不够的。
【解决方案2】:

接受的答案对我不起作用,但将 max_allowed_pa​​cket 更改为较大的值(即 32000000 =~ 32MB)并重新启动。

【讨论】:

  • 无需重启。将参数组分配给实例后,对其所做的任何更改都会立即生效。
  • 恐怕我需要重新启动。在不重新启动的情况下反映您的新价值需要多长时间?
  • 任何使用更新参数组的实例将自动将其状态更改为modifying,您可以从实例仪表板查看。只需几分钟,状态就会返回到available,此时新值将生效。
  • 就我而言,需要重新启动。我看到更改已应用,但直到 RDS 重新启动 - 导入失败。
【解决方案3】:

根据MySQL docs,这通常与超时有关。虽然很难诊断这一点,但我可以想到一种可能的解决方法:在与您的 RDS 服务器相同的区域中启动一个 EC2 实例(或使用您已经拥有的现有实例 - 微型实例或小型实例) ,例如使用 SFTP 上传您的大型 SQL 转储,安装 MySQL 客户端库并从那里上传您的文件。这将确保您的 mysql 客户端和 RDS 实例之间的导入速度更快。

【讨论】:

  • 感谢您的意见。我的 EC2 和 RDS 在同一个地区,即爱尔兰,我在南非。我确实使用 sftp 将数据库上传到服务器,然后使用 putty 安装它,但它仍然超时(此过程适用于较小的数据库,例如 20 兆)。也许我需要更改 db 参数组中的其他值?
猜你喜欢
  • 2018-03-21
  • 1970-01-01
  • 2015-12-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-15
  • 1970-01-01
  • 2017-01-02
相关资源
最近更新 更多