首页/数据/数据库速查/mysqldump 字符集选项(--default-character-set)
备份与恢复56 条

mysqldump 字符集选项(--default-character-set)

指定客户端字符集保证导出文件编码正确:utf8mb4 环境显式声明可避免中文乱码与双重编码问题,跨版本迁移尤为重要。

数据库速查数据更新于 2026-10-12
选项--default-character-set=utf8mb4
why连接字符集决定导出的字节编码
检查备份头部 SET NAMES 语句反映导出使用的字符集

指定字符集导出

指定字符集导出
mysqldump -uroot -p --default-character-set=utf8mb4 \
  --single-transaction --databases appdb > appdb.sql
head -20 appdb.sql | grep -i "SET NAMES"
5.7 及更早版本客户端默认 latin1 的时代,漏加该参数会导出乱码字节。

易错点

  • 源库表用 latin1、客户端按 utf8mb4 导出会把字节转码成双重编码,恢复后中文变乱码
  • 导入端也要匹配字符集:mysql 命令同样建议显式 --default-character-set=utf8mb4

数据来源与参考

  • MySQL 8.0 Reference Manual: mysqldump --default-character-set

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌