本文共 1431 字,大约阅读时间需要 4 分钟。
随着MySQL 8.0版本的发布,由 latin1 转换为 utf8mb4 已经成为默认字符集的重要变更。为了确保迁移过程平稳且成功,以下将详细说明相关的迁移方案和注意事项。
[mysqld]init_connect='SET NAMES utf8mb4' character-set-server = utf8mb4collation-server = utf8mb4_general_ciskip-character-set-client-handshake
innodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_file_per_table = 1innodb_large_prefix = ON
mysqldump -u -p --no-data --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --databases testdb > /backup/testdb.sql
mysqldump -u -p --no-create-info --master-data=2 --flush-logs --routines --events --triggers --default-character-set=utf8mb4 --single-transaction --set-gtid-purged=OFF --database testdb > /backup/testdata.sql
根据上述备份文件,修改表格和字段的字符编码,替换所有utf8
为utf8mb4
。
mysql -u -p testdb < /backup/testdb.sql
alter table t modify column a char CHARACTER SET utf8mb4;alter database sbtest CHARACTER SET utf8mb4;
确保应用程序使用UTF-8字符编码:
jdbc:mysql://new_database_url?characterEncoding=utf-8&server_character_set=utf8mb4
以上步骤能帮助您顺利完成从MySQL 8.0 Latin1到utf8mb4的字符集迁移,确保系统运行稳定。
转载地址:http://yreaz.baihongyu.com/