MySQL 8.x 的版本的内存占用相比 MySQL 5.7 要高上不少,在 1G 内存的 VPS 允许 8.x 版本非常的吃力,想要降级到 5.7 的话,导入数据库又会提示 Unknown collation: 'utf8mb4_0900_ai_ci'
主要是因为 MySQL 8.x 的 utf8mb4_0900_ai_ci
排序规则在 MySQL 5.7 中不存在,高版本导出的数据在低版本导入时,需要将 utf8mb4_0900_ai_ci
替换为 utf8mb4_general_ci
Linux / macOS
sed -i 's/utf8mb4_0900_ai_ci/utf8mb4_general_ci/g' dump.sql
Windows
powershell
(Get-Content dump.sql) -replace 'utf8mb4_0900_ai_ci', 'utf8mb4_general_ci' | Set-Content dump.sql
如果你还没有导出数据,则可以在导出的时候就提前处理
sh
mysqldump --default-character-set=utf8mb4 --collation-server=utf8mb4_general_ci -u root -p database_name > dump.sql
除了 utf8mb4_0900_ai_ci
以外,MySQL 5.7 还有一些不兼容的排序规则和字符集,如果遇到需要用同样的方法将其全部替换为 5.7 支持的排序规则和字符集
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)