使用DDEV导入数据库时utf8mb4_0900_ai_ci排序规则错误的解决
解决DDEV导入Siteground数据库时的
utf8mb4_0900_ai_ci排序规则错误 问题场景
本地通过DDEV运行站点,远程站点托管于Siteground共享主机。通过SSH导出远程SQL备份后,执行ddev import-db导入数据库失败,报错信息:
ERROR 1273 (HY000) at line 25: Unknown collation: 'utf8mb4_0900_ai_ci'
常见解决方案是用文本编辑器将utf8mb4_0900_ai_ci替换为utf8mb4_general_ci,但这种方法需要每次同步站点都手动编辑数据库文件,因此未采用。
解决方案
- 确认远程数据库版本:通过phpMyAdmin查看Siteground远程数据库,确认其使用MySQL 8.0版本
- 修改本地DDEV数据库配置:打开项目根目录下的
.ddev/config.yaml文件,将数据库配置项从mariadb 10.4修改为mysql 8.0 - 重启DDEV服务:执行以下命令重启服务
ddev restart - 重新导入数据库并清理缓存:依次执行命令完成导入和缓存清理
ddev import-db ddev drush cr
操作完成后,数据库成功导入,站点恢复正常运行。
内容的提问来源于stack exchange,提问作者Len Lamberg
相关产品推荐
相关产品推荐

