mysql不同版本乱码_解决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、通过终端操作。
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=utf8SpiderBBSDB Catalog>/Users/ethan/Desktop/Catalog.sql
其中用到了几个参数,简单说明一下:
-t:等同于--no-create-info,只导出数据,而不添加CREATE TABLE 语句。默认导出的文件中也有create table语句。
--extended-insert:使用具有多个VALUES列的INSERT语法,也就是传说中一次插入多条数据的INSERT句式。这样使导出文件更小,并加速导入时的速度,但是有可能sql语句会有长度限制,所以我并不推荐此种方式,比如我某个表中有500W条数据,难保能用一条insert语句可以执行完毕。此选项默认为打开状态,把他置为false,就是一条数据一个insert语句了。
--default-character-set:设置默认字符集,由于我的数据库和表均是设定为utf8编码格式,当不设置此选项时,导出的中文是乱码,奇怪的是官方说明中,说这个选项的默认值是utf8,表示不解。
导出整个数据库:
/usr/local/mysql/bin/mysqldump -uroot -p123456 -hlocalhost -t--extended-insert=false
--default-character-set=utf8SpiderBBSDB>/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写入中文乱码。
关于这个中文乱码问题,着实折腾了我好久好久。一开始就百度谷歌bing,网上大多复制粘贴的答案,在这里记录一下自己的情况,希望同路人不再走弯路。
其实我的修改很简单,把数据库的编码改为utf-8,在新建表时,把表的默认编码也改为utf-8,就可以了。就这么个小小的改动,让我足足折腾了一个通宵,表示有解决问题强迫症,问题不解决真的睡不着,唉~~~
原文链接:http://www.cnblogs.com/zhaocq/archive/2013/03/23/2976610.html
本文原创发布php中文网,转载请注明出处,感谢您的尊重!
mysql不同版本乱码_解决MySQL中文乱码以及版本不一致问题_MySQL相关推荐
- 中文提交到git乱码_解决Git 中文乱码问题
乱码情景对号入座和解决方案 乱码情景1 在cygwin中,使用git add添加要提交的文件的时候,如果文件名是中文,会显示形如274\232\350\256\256\346\200\273\347\ ...
- git配置中文乱码_解决git中文乱码问题
进入git安装目录,改一下配置就可以基本解决: 1.etc\gitconfig: [gui] encoding = utf-8 [i18n] commitencoding = gbk [svn] pa ...
- mysql占用多少内存_解决mySQL占用内存超大问题
解决mySQL占用内存超大问题 解决mySQL占用内存超大问题 为了装mysql环境测试,装上后发现启动后mysql占用了很大的虚拟内存,达8百多兆.网上搜索了一下,得到高人指点my.ini.再也没见 ...
- java解析xml中文字符乱码_各种Java中文乱码的处理方法
对于Java,由于默认的编码方式是UNICODE,所以用中文也易出问题,常见的解决是: String s2 = new String(s1.getBytes("ISO-8859-1" ...
- suse linux乱码,轻松解决Suse中文乱码问题
随着我们学习Suse linux的深入,我们也面临着很多问题,今天所要讲的是Suse中文乱码问题,Suse linux有很多的知识需要我们了解,以便我们能更好的应用到学习生活中.我研究了一下Suse中 ...
- xp mysql字符集与乱码_解决MYSQL中文乱码问题三种方法
方法三 1>本文将消除乱码分为三步: >消除页面乱码, >消除从mysql教程中读出中文乱码, >消除插入mysql数据库教程中的中文乱码: 15>注意编码表示方式在网页 ...
- mysql linux 中文乱码_解决MySQL中文乱码的问题
遇到MySQL中文乱码问题,首先用status命令检查数据库的配置,如下: 上图会显示数据库配置的各项信息. 还可以用 show create database XXX,来显示创建数据库的时候的编码设 ...
- confluence mysql 中文乱码_解决confluence的乱码问题
使用confluence时发现一些含有中文的页面中,中文都变成了问号. 继续搜索解决方案,发现时数据库中数据的格式不对, 在mysql中输入以下命令: mysql> show variables ...
- jsp解决mysql乱码_解决mysql+jsp出现乱码的问题
解决mysql+jsp出现乱码的问题 发布时间:2020-07-11 14:39:04 来源:亿速云 阅读:65 作者:清晨 这篇文章主要介绍解决mysql+jsp出现乱码的问题,文中介绍的非常详细, ...
最新文章
- 初中计算机实践研究计划,初中信息技术个人研修计划
- date oracle 表中_从 MySQL 迁移数据到 Oracle 中的全过程
- c语言代码大全500行,C语言职工档案管理系统 500多行代码1
- IEEE conference 中出现的PDF字体嵌入的问题
- 我的家庭私有云计划-10
- ant design样式不生效官方解决方案
- 数值分析 python_数值分析python代码
- jspdf打印、pdf打印
- 模式识别复习 思维导图
- 网易视频大神:七个问题告诉你做游戏CG还是做影视?
- vue添加cnzz统计
- QT自制软键盘 最完美、最简单、跟自带虚拟键盘一样
- RCAN论文笔记:Image Super-Resolution Using Very Deep Residual Channel Attention Networks
- BZOJ 3168: [Heoi2013]钙铁锌硒维生素
- PDF怎么转换成长图
- 无限能,传统中药饮片的蜕变
- 【商业信息】国家地区语言缩写码
- python 小学数学,一个小学的数学题
- 阿里云 Java发布SpringBoot项目,使用邮件服务发送失败原因整理
- 谷粒商城项目环境搭建