- 备份,不然崩了就只有删库跑路了;
- 升级
MySQL
服务端到5.3.3
及以上版本,以支持utf8md4
; - 将数据库、表、列的字符编码、
collation
改为utf8md4
:
# For each database:
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
# For each table:
ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
# For each column:
ALTER TABLE table_name CHANGE column_name column_name VARCHAR(length) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
- 检查列和索引键的最大长度;
- 修改连接、客户端、服务端的字符集;
- 修复和优化所有的表,以免出现一些莫名其妙的错误,可以使用如下的方式:
# For each table
REPAIR TABLE table_name;
OPTIMIZE TABLE table_name;
或者是使用mysqlcheck
工具:
$ mysqlcheck -u root -p --auto-repair --optimize --all-databases