一个分享WordPress、Zblog、Emlog、Typecho等主流博客的教程网站!
当前位置:网站首页 > 编程知识 > 正文

解决宝塔备份utf8mb4格式mysql数据库,宝塔恢复出现乱码问题

作者:xlnxin发布时间:2026-11-09分类:编程知识浏览:152


导读:乱码根源:宝塔自带备份工具导出的sql头部固定写了SETNAMESutf8(也就是utf8mb3,3字节),你的数据本身是utf8mb4(带emoji、特殊4...

乱码根源:宝塔自带备份工具导出的 sql 头部固定写了 SET NAMES utf8(也就是 utf8mb3,3 字节),你的数据本身是 utf8mb4(带 emoji、特殊 4 字节字符),导入的时候强制按 utf8 解析,直接乱码。 ? 不要用宝塔面板自带备份来迁移!改用命令行 mysqldump 导出,这是不乱码的关键宝塔面板

【备份(关键,解决乱码的导出方式)】 登录服务器终端(宝塔 SSH),分别导出两个库,这条命令导出原生 utf8mb4,不会乱码

# 导出库A(替换库名、root密码)

mysqldump -uroot -p你的5.5root密码 --default-character-set=utf8mb4 --hex-blob 库名A > /www/backup/kuA.sql

# 导出库B

mysqldump -uroot -p你的5.5root密码 --default-character-set=utf8mb4 --hex-blob 库名B > /www/backup/kuB.sql

--default-character-set=utf8mb4:强制导出字符集 utf8mb4

--hex-blob:二进制内容转十六进制,防止 blob 乱码

不要用宝塔数据库备份按钮,它导出的 sql 第一行是 SET NAMES utf8,导入mysql数据库必乱码

标签:服务器数据库mysql