记录一次 mysql 5.7 下,出现重启数据库后不能加载特定表的问题处理。
搜索了很多的类似的错误,大多都是说因为外键同名的索引丢失的情况。但在5.7这个版本下,会禁止更新外键关联的索引。
最后经过分析,发现是之前更新了主外键的字符集导致的。数据库的默认字符集是utf8mb4(预期是uft8),如果执行脚本的时候没指定,都会已表的默认字符集去更新。导致外键引用的列字符集不一致,出现错误。
只需要同步外键字段的字符集就能处理该问题。
记录一次 mysql 5.7 下,出现重启数据库后不能加载特定表的问题处理。
搜索了很多的类似的错误,大多都是说因为外键同名的索引丢失的情况。但在5.7这个版本下,会禁止更新外键关联的索引。
最后经过分析,发现是之前更新了主外键的字符集导致的。数据库的默认字符集是utf8mb4(预期是uft8),如果执行脚本的时候没指定,都会已表的默认字符集去更新。导致外键引用的列字符集不一致,出现错误。
只需要同步外键字段的字符集就能处理该问题。