解决MySQL中文乱码以及版本不一致问题_MySQL
先说明一下自己的环境:Mac OS X 10.8.3, 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、通过终端操作。
<ol class="dp-xml"><li class="alt"><span><span>cd /usr/local/mysql/bin/ </span></span></li></ol>
2、到达bin目录后,可以ls -l命令看看当前目录有哪些程序可以用,这里先用mysql,命令格式为:
mysql -h主机IP -u用户名 -p密码
如:
<ol class="dp-sql"><li class="alt"><span><span>./mysql -hlocalhost -uroot -p123456 </span></span></li></ol>
注意前面加的"./"。
这时就进入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主机地址 数据库名 表名 > 导出文件存储路径
例如:
<ol class="dp-xml"><li class="alt"><span><span>/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost -t </span><span class="attribute">--extended-insert</span><span>=</span><span class="attribute-value">false</span><span> </span><span class="attribute">--default-character-set</span><span>=</span><span class="attribute-value">utf8</span><span> SpiderBBSDB Catalog </span><span class="tag">></span><span> /Users/ethan/Desktop/Catalog.sql </span></span></li></ol>
其中用到了几个参数,简单说明一下:
-t:等同于--no-create-info,只导出数据,而不添加CREATE TABLE 语句。默认导出的文件中也有create table语句。
--extended-insert:使用具有多个VALUES列的INSERT语法,也就是传说中一次插入多条数据的INSERT句式。这样使导出文件更小,并加速导入时的速度,但是有可能sql语句会有长度限制,所以我并不推荐此种方式,比如我某个表中有500W条数据,难保能用一条insert语句可以执行完毕。此选项默认为打开状态,把他置为false,就是一条数据一个insert语句了。
--default-character-set:设置默认字符集,由于我的数据库和表均是设定为utf8编码格式,当不设置此选项时,导出的中文是乱码,奇怪的是官方说明中,说这个选项的默认值是utf8,表示不解。
导出整个数据库:
<ol class="dp-xml"> <li class="alt"><span><span>/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost -t </span><span class="attribute">--extended-insert</span><span>=</span><span class="attribute-value">false</span><span> </span></span></li> <li><span> <span class="attribute">--default-character-set</span><span>=</span><span class="attribute-value">utf8</span><span> SpiderBBSDB </span><span class="tag">></span><span> /Users/ethan/Desktop/SpiderBBSDB.sql </span></span></li> </ol>
二、导入数据。
有导出就有导入。上面第5步导出的sql文件,可以直接在mysql workbench中执行,也可以使用mysqldump导入,这里说明一下如何使用mysqldump导入:
/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost --default-character-set=utf8 SpiderBBSDB <p><strong>三、关于java连接mysql写入中文乱码。</strong></p> <p>关于这个中文乱码问题,着实折腾了我好久好久。一开始就百度谷歌bing,网上大多复制粘贴的答案,在这里记录一下自己的情况,希望同路人不再走弯路。</p> <p>其实我的修改很简单,把数据库的编码改为utf-8,在新建表时,把表的默认编码也改为utf-8,就可以了。就这么个小小的改动,让我足足折腾了一个通宵,表示有解决问题强迫症,问题不解决真的睡不着,唉~~~</p> <p><img class="fit-image lazy" src="/static/imghw/default1.png" data-src="http://img.bitscn.com/upimg/allimg/130331/0953014446-7.png" alt=""></p> <p><img class="fit-image lazy" src="/static/imghw/default1.png" data-src="http://img.bitscn.com/upimg/allimg/130331/0953012N1-8.png" alt="" style="max-width:90%"></p> <p><img class="fit-image lazy" src="/static/imghw/default1.png" data-src="http://img.bitscn.com/upimg/allimg/130331/0953012212-9.png" alt="" style="max-width:90%"></p> <p>原文链接:http://www.cnblogs.com/zhaocq/archive/2013/03/23/2976610.html</p>

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

随着智能手机技术的不断发展,手机在我们日常生活中扮演着越来越重要的角色。而作为一款专注于游戏性能的旗舰手机,黑鲨手机备受玩家青睐。然而,有时候我们也会面临到黑鲨手机开不了机的情况,这时候我们就需要采取一些措施来解决这一问题。接下来,就让我们来分享五招教你解决黑鲨手机开不了机的问题:第一招:检查电池电量首先,确保你的黑鲨手机有足够的电量。可能是因为手机电量耗尽

随着社交媒体的不断发展,小红书已经成为越来越多年轻人分享生活、发现美好事物的平台。许多用户在发布图片时遇到了自动保存的问题,这让他们感到十分困扰。那么,如何解决这个问题呢?一、小红书发布自动保存图片怎么解决?1.清除缓存首先,我们可以尝试清除小红书的缓存数据。步骤如下:(1)打开小红书,点击右下角的“我的”按钮;(2)在个人中心页面,找到“设置”并点击;(3)向下滚动,找到“清除缓存”选项,点击确认。清除缓存后,重新进入小红书,尝试发布图片看是否解决了自动保存的问题。2.更新小红书版本确保你的小

使命召唤战区作为全新上线的一款手游,有很多的玩家都非常的好奇要怎么样才能够将这款游戏的语言设置为中文,其实非常的简单,玩家只需要下载中文的语言包,随后进行使用就可以进行修改了,详细的内容可以在这篇中文设置方法介绍之中进行了解,让我们一起来看看吧。使命召唤战区手游怎么设置中文1、首先进入游戏,点击界面右上角的设置图标。2、在出现的菜单栏中,找到【Download】这个选项并且点击。3、在这个页面中选择【SIMPLIFIEDCHINESE】(简体中文),就可以对简体中文的安装包进行下载了。4、回到设

VSCode设置中文:完全指南在软件开发中,VisualStudioCode(简称VSCode)是一个常用的集成开发环境。对于使用中文的开发者来说,将VSCode设置为中文界面可以提升工作效率。本文将为大家提供一个完整的指南,详细介绍如何将VSCode设置为中文界面,并提供具体的代码示例。第一步:下载安装语言包在打开VSCode后,点击左

PHP版本NTS的含义与区别PHP是一种流行的服务器端脚本语言,广泛应用于Web开发领域。PHP有两种主要的版本:ThreadSafe(TS)和Non-ThreadSafe(NTS)。在PHP的官方网站上,我们可以看到两个不同的PHP下载版本,分别是PHPNTS和PHPTS。那么,PHP版本NTS是什么意思?它和TS版本有什么区别呢?接下来,

关于Llama3,又有测试结果新鲜出炉——大模型评测社区LMSYS发布了一份大模型排行榜单,Llama3位列第五,英文单项与GPT-4并列第一。图片不同于其他Benchmark,这份榜单的依据是模型一对一battle,由全网测评者自行命题并打分。最终,Llama3取得了榜单中的第五名,排在前面的是GPT-4的三个不同版本,以及Claude3超大杯Opus。而在英文单项榜单中,Llama3反超了Claude,与GPT-4打成了平手。对于这一结果,Meta的首席科学家LeCun十分高兴,转发了推文并

解决PHP写入txt文件中文乱码的技巧随着互联网的迅猛发展,PHP作为一种广泛应用的编程语言,被越来越多的开发者所使用。在PHP开发中,经常需要对文本文件进行读写操作,其中包括写入中文内容的txt文件。然而,由于编码格式的问题,有时候会导致写入的中文出现乱码。本文将介绍一些解决PHP写入txt文件中文乱码的技巧,并提供具体的代码示例。问题分析在PHP中,文本

PPT制作对于职场中的朋友想必都不太陌生吧!不管是年终总结亦或是商业招投标等,很多时候都要用PPT来体现,但是对于PPT制作的萌新们来说,PPT版本有哪些他们还不太了解,下面小编就盘点几个PPT版本。1、PPT2003PowerPower2003是一款办公软件。简洁的界面,快捷的操作,方便上手,对电脑配置要求不高,具备基本的文字处理、图片处理、图形编辑、动画操作、多媒体插入等功能。2、PPT2007PowerPoint2007继承了以前版本的长处,且在功能上有了很大的提高。习惯PowerPoin
