博客
关于我
技术分享 | MySQL 8.0:字符集从 utf8 转换成 utf8mb4
阅读量:615 次
发布时间:2019-03-13

本文共 1431 字,大约阅读时间需要 4 分钟。

MySQL 8.0 升级字符集从 latin1 到 utf8mb4 迁移指南

背景说明

随着MySQL 8.0版本的发布,由 latin1 转换为 utf8mb4 已经成为默认字符集的重要变更。为了确保迁移过程平稳且成功,以下将详细说明相关的迁移方案和注意事项。

迁移方案

1. 进行初始准备

  • 创建新的数据库实例:安装并配置一个全新的MySQL实例。
  • 修改MySQL配置文件,关键设置如下:
    [mysqld]init_connect='SET NAMES utf8mb4' character-set-server = utf8mb4collation-server = utf8mb4_general_ciskip-character-set-client-handshake
  • 启用InnoDB引擎,并执行必要的文件格式和存储配置:
    innodb_file_format = Barracudainnodb_file_format_max = Barracudainnodb_file_per_table = 1innodb_large_prefix = ON

2. 停止应用操作

  • 随应用停止,确保不会有新的数据写入入库。可以通过检查主库的GTID或binlog位置来确认。

3. 数据备份过程

  • 导出数据库表结构
    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

4. 修改表结构和字符集

根据上述备份文件,修改表格和字段的字符编码,替换所有utf8utf8mb4

  • 运行表结构更新脚本:
    mysql -u -p testdb < /backup/testdb.sql
  • 导入数据后,更新字段和数据库的字符集属性:
    alter table t modify column a char CHARACTER SET utf8mb4;alter database sbtest CHARACTER SET utf8mb4;

5. 修改 JDBC 连接参数

确保应用程序使用UTF-8字符编码:

jdbc:mysql://new_database_url?characterEncoding=utf-8&server_character_set=utf8mb4

注意事项

  • 数据库字符集修改:默认字符集变更为utf8mb4,在应用迁移前必须确认数据的一致性和完整性。
  • 字符集迁移工具:考虑使用专用字符集迁移工具加速转换过程,减少性能影响。
  • 备份数量:确保数据备份完整,避免迁移过程中数据丢失。

以上步骤能帮助您顺利完成从MySQL 8.0 Latin1到utf8mb4的字符集迁移,确保系统运行稳定。

转载地址:http://yreaz.baihongyu.com/

你可能感兴趣的文章
[206]如何解决python升级后yum报错
查看>>
Android 布局优化之<include/><merge/>和 <ViewStub>
查看>>
Shell脚本防DNS攻击检测并删除肉机IP
查看>>
升级Centos7.5的默认Python版本至最新
查看>>
如何在VSCode中定制JSON的IntelliSense
查看>>
傅里叶变换时域和频域之间的对应关系
查看>>
椭圆曲线的定义
查看>>
多代理区块链框架客户端的操作
查看>>
RSA操作中的公钥和私钥的生成
查看>>
C#从1打印到100再打印到1-递归的应用
查看>>
go语言中类的继承和方法的使用
查看>>
caffe运行mnist例子时候出现的一些问题
查看>>
Ubuntu 修改权限的操作
查看>>
caffe训练的时候遇到的text-format 错误解决方案。
查看>>
Java 8新特性(一):Lambda表达式
查看>>
ZOJ问题(坑死了)
查看>>
Little Zu Chongzhi's Triangles
查看>>
算法入门
查看>>
cf-A. Wet Shark and Odd and Even(水)
查看>>
Train Problem II(卡特兰数+大数乘除)
查看>>