MySQL升级

0

最近把网站的文章编辑器换了,不使用UEditor,而直接编写Markdown文本。

因为之前可以直接使用UEditor的表情,但是现在只能使用Emoji表情了,但是以前旧版本的MySQL不支持utf8mb4编码,所以这次升级了MySQL5.7。

具体升级我命令就不写了,大概流程:

  1. 备份数据
  2. 删除旧版本
  3. 安装新版本
  4. 还原数据

我使用mysqldump对数据进行备份和还原。
但是重启后发现还是不支持Emoji标签,my.cnf和数据库都已经设置了utf8mb4

后来发现原来备份还原的时候,数据库表和列的编码都还是utf8,需要全部修改一遍,下面是SQL:

ALTER TABLE table DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
ALTER TABLE table MODIFY COLUMN column VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL COMMENT '内容';