在 AWS RDS 上托管的数据库上导入 SQL 脚本期间出现 MySql 错误“max_allowed_pa​​cket”字节

Posted

技术标签:

【中文标题】在 AWS RDS 上托管的数据库上导入 SQL 脚本期间出现 MySql 错误“max_allowed_pa​​cket”字节【英文标题】:MySql Error 'max_allowed_packet' bytes during import SQL script on database hosted on AWS RDS 【发布时间】:2018-12-26 00:20:25 【问题描述】:

我在 AWS RDS 上的 mysql 数据库上导入 SQL 文件时遇到问题,在导入 SQL 文件时,初始表被导入然后突然显示错误。

我知道这个错误,我可以通过增加 MySQL 配置中的 max_allowed_pa​​cket 大小来解决这个问题,但不是本地 Mysql is AWS RDS show 我该怎么办?

【问题讨论】:

【参考方案1】:

看完这篇https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/USER_WorkingWithParamGroups.html的文章后,我明白我必须做什么以及如何做。

以下是以下步骤。

1) 进入 RDS 页面并点击左侧导航中的“参数组”文本。

2) 现在点击“创建参数组”橙色按钮创建一个新组。

3) 填写参数组表单“参数组族”应该是你的RDS实例的MySql版本而不是“组名”和“描述”随便你。

4) 新的“参数组”已创建为 “test”,现在对其进行编辑并将 “max-allowed-packet” 增加输入 "10000000" (10 MB) 值应为 Bytes 输入值后不要忘记点击 “保存更改” 按钮和确保值在 1024 字节到 1073741824 字节 (1073 MB)

之间

5)现在您可以通过点击“预览更改”按钮查看您的更改。

6) 现在我们必须更改 RDS 实例的“参数组”。所以,修改一个实例并选择我们创建的“参数组”

7) 现在修改 RDS 实例后,您应该重启它以应用您的更改。

【讨论】:

感谢您的详尽帖子! 很好的答案,有几点需要注意,以防人们像我一样好奇。是的,您需要创建一个新的参数组,您不能编辑默认值,是的,您需要重新启动,否则参数组不会生效 注:如果您要更新附加到数据库的非默认参数组,则不需要重新启动。 使用 RDS 中的 mariaDB,我可以确认非默认参数组附加到 db,不需要重新启动。【参考方案2】:

转到 RDS,选择 Parameter Groups 并创建新组/编辑现有组。搜索 max_allowed_packet 并为其输入新值。将此参数组附加到 RDS 实例。

【讨论】:

以上是关于在 AWS RDS 上托管的数据库上导入 SQL 脚本期间出现 MySql 错误“max_allowed_pa​​cket”字节的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 上托管的 LAMP 应用程序的 AWS SSL 证书

在 ec2 上托管的 apache spark 中使用 AWS EMRFS

有啥方法可以将 AWS Cloudfront 设置为指向静态 IP 地址(在 GoDaddy 上托管的 WP)?

如何为 AWS EC2 上托管的 Parse 服务器获取 APP_ID 和 CLIENT_KEY

将数据库导入AWS RDS DB

在 AWS RDS 上自动更改 SQL 架构