Loading... ## 前言 MySQL数据库迁移到RDS记录 主要原因是服务器装不上MySQL5.7 ## 正文 ### 配置 数据库类型 MySQL5.7 CPU 1 核 最大连接数 2000 实例规格 mysql.n1.micro.1 ### 迁移过程 登入phpMyAdmin 导出 ---> 执行 数据导出完毕 登入RDS ---> 数据导入 报错 ```sql Specified key was too long; max key length is 767 bytes ``` ###分析 Typecho原本使用了MYISAM引擎,但导入后变成InnoDB引擎 innodb存储引擎,多列索引的长度限制如下 每个列的长度不能大于767 bytes;所有组成索引列的长度和不能大于3072 bytes myisam存储引擎,多列索引长度限制如下: 每个列的长度不能大于1000 bytes,所有组成索引列的长度和不能大于1000 bytes 所以改为MYISAM即可让长度大于767 bytes 尝试在参数管理中修改默认引擎,以适配数据库 但参数限制只能是InnoDB 查阅资料发现RDS不支持MYISAM引擎 [参考文档][1] 看来从更改引擎方面是无法解决 那都是为了让长度大于767 bytes 何必一定要MYISAM呢 直接让长度大于767 bytes ### 解决 在RDS实例的参数管理中找到innodb_large_prefix参数 设置为ON 重启实例 [1]: https://help.aliyun.com/document_detail/52558.html Last modification:July 8, 2022 © Allow specification reprint Support Appreciate the author AliPayWeChat Like 0 大哥给点钱吧~ヽ(・ω・´メ)(微信 支付宝 QQ都是一个码哦~