Linux与运维

MySQL 导入数据报 Unknown collation: utf8mb4_unicode_ci 错误的快速修复

在将高版本 MySQL(如 MySQL 8.0 / 5.7)导出的 SQL 备份文件恢复到旧版本数据库环境(如 MySQL 5.5 / 早期 MariaDB)时,导入常在此处中断报错:
ERROR 1273 (HY000): Unknown collation: 'utf8mb4_unicode_520_ci' / 'utf8mb4_unicode_ci'
本文提供一键批量替换修复方案。


一、 解决方案:使用 sed 快速替换 SQL 结构

# 将 utf8mb4_unicode_520_ci 替换为通用兼容的 utf8mb4_unicode_ci 或 utf8_general_ci
sed -i 's/utf8mb4_unicode_520_ci/utf8mb4_unicode_ci/g' database_backup.sql
sed -i 's/utf8mb4_unicode_ci/utf8_general_ci/g' database_backup.sql
sed -i 's/utf8mb4/utf8/g' database_backup.sql

替换完成后,重新执行 mysql -u root -p db_name < database_backup.sql 即可顺利无错导入!