本想对阿里云ecs做个扩盘,想把数据库做一下备份。
通过navicat数据传输报错信息如下。
Msg] [Dtf] Create table: `life_dream`
[Err] [Dtf] 1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
[Err] [Dtf] Finished - Unsuccessfully
查找原因和解决方案如下:
由于这个表的排序规则为:'utf8mb4_0900_ai_ci' 而本地mysql版本比较较低。
而其他表排序规则是 :utf8_general_ci
所以将表life_dream 排序规则由utf8mb4_0900_ai_ci 修改为utf8_general_ci
修改语句:
alter table life_dream convert to character set utf8_general_ci;
执行报错信息如下:
alter table life_dream convert to character set utf8_general_ci;
[Err] 1115 - Unknown character set: 'utf8_general_ci'
不去纠结,看其他修改方法。
用navicat来修改,设计表,全选字段,地步修改字符集为utf8 排序规则为:utf8_general_ci 最后保存。查看修改成功。
最有所有表都查了一下,发现排序规则由好几种 gbk_chinese_ci utf8_general_ci utf8mb4_0900_ai_ci gb2312_chinese_ci
只有一个表是utf8mb4_0900_ai_ci
虽然已经修改该为utf8_general_ci ,在数据同步时依然报同样的错,Unknown collation: 'utf8mb4_0900_ai_ci'。
重启了mysql 依然报错。
------------------------------------------------------
上面方案无法解决,只能另想办法。
在数据传输时没有选择这个表,成功。
下面就差这个一个表的数据。通过转储sql文件试试。结果依然报错。
修改life_eam.sql里面的字符集信息,再次倒入依然报错失败。
----------------------------------------------------
转储sql不成功,那在看其他方法吧。
1.通过导出向导 导出到txt中。
2.本地数据库创建这个表。
3.通过导入向导,导入数据。数据丢失一部分。那这一部分可能是导入出错。
------------------------------------------------------------------
第三条路:
1.通过导出向导 导出到.xls中
2.本地数据库创建这个表。
3.然后通过导入向导,导入数据成功了。
-------------------------------------------------------------
搞了半天,高兴的是终于解决掉了。可以对阿里云ecs进行扩盘了。
相关标签: