【每日一记5】+第13天 解决MySQL中文乱码以及版本不一致问题
  

新手781833 2658

{{ttag.title}}
一、导出数据
    先说明一下环境: MySQL Community Server 5.6.10, MySQL Workbench 5.2.47。
    我想把本机数据库内的数据迁移到另一台机器上,于是使用Workbench中自带的import/export功能,其实就是调用mysqldump。不幸的是,出现了版本不一致的错误。最终找到解决方案,可以指定mysql的mysqldump,路径为:/usr/local/mysql/bin/mysqldump,这样是把数据导出为sql语句的insert语句。由于需要是把数据导出为excel,所以通过mysql控制台使用select语句把数据导出到excel文件中。

下面先介绍怎么导出为excel文件,然后介绍怎么导出为insert语句。
1、通过终端操作。
cd /usr/local/mysql/bin/
2、到达bin目录后,可以ls -l命令看看当前目录有哪些程序可以用,这里先用mysql,命令格式为:
mysql -h主机IP -u用户名 -p密码./mysql -hlocalhost -uroot -p123456
这时就进入mysql命令控制台,终端上显示为:
3、然后通过show databases命令查看当前的所有数据库,使用use命令选择进入某个数据库,注意每个命令都要以英文分号“;”结束。
4、使用sql语句导出需要的数据,sql语句不限于单个表的查询。由于我的数据库编码是utf8格式,而office默认的编码则是gb2312,所以当某个字段中包含中文时,导出到excel后,中文内容是会乱码的,此时需要convert转换编码,具体使用方式:
我试着把文件保存到桌面,但始终提示没有权限,应该是和用户有关吧,无视了。当使用“./”这个路径保存时,实际是保存到了/usr/local/mysql/data下面。打开看看,哟西,不乱码了。
5、下面是把数据导出为sql的insert语句。
使用mysqldump命令,可以指定是单个表还是整个数据库导出。
打开终端,定位到/usr/local/mysql/bin,使用这个目录下的mysqldump。
导出单个表:mysqldump -u用户名 -p密码 -h主机地址 数据库名 表名 > 导出文件存储路径
导出整个数据库:
/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost -t --extended-insert=false --default-character-set=utf8 SpiderBBSDB > /Users/ethan/Desktop/SpiderBBSDB.sql

二、导入数据。
有导出就有导入。上面第5步导出的sql文件,可以直接在mysql workbench中执行,也可以使用mysqldump导入,这里说明一下如何使用mysqldump导入:
/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost --default-character-set=utf8 SpiderBBSDB < /Users/ethan/Desktop/Catalog.sql

三、关于java连接mysql写入中文乱码。
关于这个中文乱码问题,着实折腾了我好久好久。一开始就百度,网上大多复制粘贴的答案,在这里记录一下自己的情况,希望同路人不再走弯路。
其实我的修改很简单,把数据库的编码改为utf-8,在新建表时,把表的默认编码也改为utf-8,就可以了。

打赏鼓励作者,期待更多好文!

打赏
暂无人打赏

小鱼儿 发表于 2023-11-9 10:34
  
我也来学习一下。打卡。楼主辛苦啦!
小西北 发表于 2023-11-9 10:30
  
我也来学习一下。打卡。楼主辛苦啦!
鲤鲤 发表于 2023-11-9 10:30
  
我也来学习一下。打卡。楼主辛苦啦!
日出 发表于 2023-11-9 10:23
  
我也来学习一下。打卡。楼主辛苦啦!
小德 发表于 2023-11-9 10:23
  
我也来学习一下。打卡。楼主辛苦啦!
飞飞侠 发表于 2023-11-9 10:16
  
我也来学习一下。打卡。楼主辛苦啦!
德德 发表于 2023-11-9 10:16
  
我也来学习一下。打卡。楼主辛苦啦!
梦境人生 发表于 2023-11-9 10:11
  
我也来学习一下。打卡。楼主辛苦啦!
小小胖 发表于 2023-11-9 10:11
  
我也来学习一下。打卡。楼主辛苦啦!
发表新帖
热门标签
全部标签>
西北区每日一问
技术盲盒
安全效果
每日一问
【 社区to talk】
干货满满
技术笔记
GIF动图学习
产品连连看
新版本体验
技术咨询
2023技术争霸赛专题
功能体验
自助服务平台操作指引
每周精选
通用技术
安装部署配置
秒懂零信任
信服课堂视频
标准化排查
排障笔记本
玩转零信任
答题自测
原创分享
技术晨报
社区新周刊
POC测试案例
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
每日一记
运维工具
云计算知识
用户认证
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
2024年技术争霸赛
北京区每日一练
场景专题
故障笔记
排障那些事
高手请过招
升级&主动服务
高频问题集锦
全能先锋系列
云化安全能力

本版达人

新手89785...

本周建议达人

新手78183...

本周分享达人