MySQL用错编码怎么救

By karp 777 Views 3 MIN READ 0 Comments

2024-11-22T08:29:33.png

  1. 备份,不然崩了就只有删库跑路了;
  2. 升级MySQL服务端到5.3.3及以上版本,以支持utf8md4
  3. 将数据库、表、列的字符编码、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;
  1. 检查列和索引键的最大长度;
  2. 修改连接、客户端、服务端的字符集;
  3. 修复和优化所有的表,以免出现一些莫名其妙的错误,可以使用如下的方式:
# For each table
REPAIR TABLE table_name;
OPTIMIZE TABLE table_name;

或者是使用mysqlcheck工具:

$ mysqlcheck -u root -p --auto-repair --optimize --all-databases

本文由 karp 原创

采用 CC BY-NC-SA 4.0 协议进行许可

转载请注明出处:https://www.ikarp.top/index.php/archives/759.html

标签: mysql

0 评论