当前位置:论坛首页 > Linux面板 > 求助

【已解决】数据库备份 请问如何指定字符集utf8mb4?

发表在 Linux面板2021-3-6 12:37 [复制链接] 4 2012

之前已经修改了MySQL字符集为utf8mb4,支持了emoji表情。但目前发现用宝塔面板对数据库备份以及自动备份后,如果直接从下图中选择恢复,恢复之后的相关字段emoji表情都变成了? 不显示表情。
QQ截图20210306120535.png
QQ截图20210306121148.png
为了验证这一点,线上环境用phpmyadmin做了对比,phpmyadmin操作数据导出、导入,都是正常显示emoji表情。
查了下备份日志,字符集是utf8
QQ截图20210306120427.png
在文件目录:/www/server/panel/script下2个文件改了字符集,重启面板后再进行数据库备份操作,发现还是无效。
求助各位怎么能实现指定字符集utf8mb4进行数据库备份?
使用道具 举报 只看该作者 回复
发表于 2021-3-6 20:49:29 | 显示全部楼层
您好,这边查看脚本备份的时候是根据您的数据库使用的字符集进行备份的。
您到您的服务器上执行下这个命令获取下字符集
  1. show variables like '%character%';
复制代码
数据库字符集备份.png 获取字符集.png

使用道具 举报 回复 支持 1 反对 0
发表于 2021-3-6 14:21:19 | 显示全部楼层
没想到好办法,用了五年前的老程序 帝国备份王 作临时方案,数据备份恢复都能支持emoji,但缺点是各种报错运行慢,希望大佬能完美解答一下。
使用道具 举报 回复 支持 反对
发表于 2021-3-6 15:36:57 | 显示全部楼层
感谢反馈,这边会测试一下。
使用道具 举报 回复 支持 反对
发表于 2021-3-7 11:56:17 | 显示全部楼层
大炮运维V587 发表于 2021-3-6 20:49
您好,这边查看脚本备份的时候是根据您的数据库使用的字符集进行备份的。
您到您的服务器上执行下这个命令 ...

看了红框函数名才发现是我自己犯蠢了,原来之前数据库错误导入了character_set_database未设置为utf8mb4的备份,多谢指正!
使用道具 举报 回复 支持 反对
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

普通问题处理

论坛响应时间:72小时

问题处理方式:排队(仅解答)

工作时间:白班:9:00 - 18:00

紧急运维服务

响应时间:3分钟

问题处理方式:宝塔专家1对1服务

工作时间:工作日:9:00 - 18:30

宝塔专业团队为您解决服务器疑难问题

点击联系技术免费分析

工作时间:09:00至18:30

快速回复 返回顶部 返回列表