問題出現在:
從本機mysql導出備份到服務器上
mysql導入報錯:
[Err] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
解決方式:
1 先查錯誤的字符集存在哪些表裏:
select TABLE_SCHEMA,TABLE_NAME,TABLE_COLLATION from information_schema.tables where table_collation = 'utf8mb4_0900_ai_ci'
and table_schema = 'jh';
2 發現無法修改,使用mysql命令行+root權限還是失敗 update information_schema.tables
set table_collation = 'utf8_general_ci' where table_collation = 'utf8mb4_0900_ai_ci' and table_schema = 'jh';
3 傻傻的導出.sql文件,然後批量把
字符:utf8mb4_0900_ai_ci 替換爲:utf8_general_ci
插播一條tip,mysql8的my.ini在哪裏:
C:\ProgramData\MySQL\MySQL Server 8.0
4.報錯
[ERR] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
報錯原因:
生成轉儲文件的數據庫版本爲8.0,要導入sql文件的數據庫版本爲5.6,因爲是高版本導入到低版本,引起1273錯誤
解決方法:
打開sql文件,將文件中的所有utf8mb4_0900_ai_ci
替換爲utf8_general_ci
utf8mb4
替換爲utf8
保存後再次運行sql文件,運行成功
參考鏈接:https://blog.csdn.net/westworld2017163com/article/details/83150628
https://blog.csdn.net/yinzitun7947/article/details/89917611