gpt4 book ai didi

mysql - Amazon RDS 到自定义 MySQL 服务器 InnoDB key 大小

转载 作者:可可西里 更新时间:2023-11-01 07:39:54 26 4
gpt4 key购买 nike

我想将 Amazon MySQL RDS 实例导出到我自己运行 MySQL 的服务器。我成功转储了数据库并在新数据库上重新创建了用户,但是当我导入转储文件时,我得到:

ERROR 1071 (42000) at line 25: Specified key was too long; max key length is 767 bytes

一些谷歌搜索显示 InnoDB 的最大 key 大小为 767。事实证明我们在 RDS 中使用了以下选项:

innodb_large_prefix=on
innodb_file_format=barracuda
innodb_file_per_table=true
log_bin_trust_function_creators=1

我将这些选项添加到 my.cnf,但我收到了相同的错误消息。然后我读到 innodb_large_prefix 只适用于 ROW_TYPE=DYNAMIC 的表。事实证明,我们在 RDS 上使用动态行,但这些行没有在转储文件中创建为 DYNAMIC。然后我发现这篇 StackOverflow 帖子将 ROW_TYPE=DYNAMIC 选项添加到转储文件:Force row_format on mysqldump

然而,我仍然收到相同的错误消息。想法?

最佳答案

我相信这是编码问题。如果在 RDS 上使用了 latin1,但在您的环境中使用了 UTF-8,那么索引 VARCHAR(256) 就是问题所在。

因为在 UTF-8 中,VARCHAR( 256) 在内部变为 VARCHAR( 768 )。

关于mysql - Amazon RDS 到自定义 MySQL 服务器 InnoDB key 大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21055187/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com