文档章节

mysql导入导出数据

BraveGod
 BraveGod
发布于 2017/08/15 13:57
字数 686
阅读 3
收藏 0

首先要做的是要确定你导出数据的编码格式,使用mysqldump的时候需要加上--default-character-set=utf8,

例如下面的代码:

复制代码 代码如下:

mysqldump -uroot -p --default-character-set=utf8 dbname tablename > bak.sql




那么导入数据的时候也要使用--default-character-set=utf8:
 

复制代码 代码如下:

mysql -uroot -p --default-character-set=utf8 dbname < bak.sql



这样统一编码就解决了mysql数据迁移中的乱码问题了


我使用windows作为导出数据源,并导入 freebsd环境下的mysql库

解决方法:

导出数据

一、首先在windows平台下mysql用作导出数据库源。查看字符编码的系统变量:
 

复制代码 代码如下:


mysql> show variables like ‘%char%';
+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |
| character_sets_dir | D:mysqlsharecharsets |

+————————–+—————————-+



查看character_set_database,这里是latin1,latin1是装不了多字节字符集的

二、在windows下设置系统变量为utf8
 

复制代码 代码如下:

mysql>set character_set_database=utf8; ##设置默认的字符集为utf8



三、导出数据
 

复制代码 代码如下:

mysql> select * from table into outfile ‘c:table.txt' where +条件



这时导出了我想要的部分数据,并以txt文件存在 table.txt中。

导入数据

在freebsd平台下

一、同样设置字符编码的系统变量
 

复制代码 代码如下:


mysql> show variables like ‘%char%';

+————————–+—————————-+
| Variable_name | Value |
+————————–+—————————-+
| character_set_client | latin1 |
| character_set_connection | latin1 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | latin1 |
| character_set_server | gbk |
| character_set_system | utf8 |

+————————–+—————————-+

mysql>set character_set_database=utf8; ##设置默认的字符集为utf8



二、转载数据
 

复制代码 代码如下:

mysql>load data local infile ‘/home/table.txt' into table `table`;


至此、条件数据完整导入导出,并处理了乱码的情况。
总之,两台mysql服务器导入导出时,一定要确保两台服务器的character_set_database参数相同,这样才能防止一些 乱码的情况。当然我们还可以使用其他字符集,如gbk来进行调整。视情况操作了


解决方法三

乱码解决方法
导入数据后,在命令行查看发现中文乱码
使用以下命令查看系统字符集
 

复制代码 代码如下:

show variables like 'char%';



如果不是GBK或UTF8,则停止mysql服务,然后到安装目录修改my.ini文件,
将文件中下面的变量改成如下,如果没有这个变量则增加这些变量
 

复制代码 代码如下:


[mysql]
default-character-set=gbk

[mysqld]
character-set-server=utf8



重新启动服务,重新导入数据,如果还乱码,

最后得出经验时只要把导入与导出编码统一一下就没问题了。

© 著作权归作者所有

共有 人打赏支持
BraveGod
粉丝 0
博文 12
码字总数 2301
作品 0
长宁
mysql数据导入导出方法总结

4、导入命令: mysql -u用户名 -p密码 < 要导入的数据库数据 mysql -uroot -padmin < d:dump.sql (window) mysql -uroot -padmin < /dump.sql (linux) (将备份出来的数据库导入,这里没有写数......

xiaocao13140
05/24
0
0
MYSQL入门之三_将本地MySQL数据导入SAE数据库

MySQL字符集 MySQL的默认字符集是latin1,将本地MySQL库导出成sql,再导入到SAE的MySQL时中文字符出现乱码,解决方法是将本地mysql默认字符集也设成utf8 查看当前MySQL字符集 mysql> show va...

我的去哈哈
2014/03/02
0
0
mysql导入/导出(备份)

使用mysql客户端工具进行导入导出,如果使用navicat工具导出,那么导入最好也使用navicat工具,这样就不存在什么问题,导入导出时,最好先看一下sql文件中有没有指定对应哪个数据库,如果没有...

cjun1990
2016/10/31
16
0
MySQL导入导出方法总结

使用into outfile 和 load data infile导入导出数据 这种方法的好处是,导出的数据可以自己规定格式,并且导出的是纯数据,不存在建表信息,你可以直接导入另外一个同数据库的不同表中,相对...

UltraSQL
2017/05/12
0
0
mysql导入导出sql文件

window下 1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u dbuser -p dbname > dbname.sql 2.导出一个表 mysqldump -u 用户名 -p 数据库名 表名> 导出的文件...

刘元兴
2017/05/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

[雪峰磁针石博客]软件测试专家工具包1web测试

web测试 本章主要涉及功能测试、自动化测试(参考: 软件自动化测试初学者忠告) 、接口测试(参考:10分钟学会API测试)、跨浏览器测试、可访问性测试和可用性测试的测试工具列表。 安全测试工具...

python测试开发人工智能安全
今天
2
0
JS:异步 - 面试惨案

为什么会写这篇文章,很明显不符合我的性格的东西,原因是前段时间参与了一个面试,对于很多程序员来说,面试时候多么的鸦雀无声,事后心里就有多么的千军万马。去掉最开始毕业干了一年的Jav...

xmqywx
今天
2
0
Win10 64位系统,PHP 扩展 curl插件

执行:1. 拷贝php安装目录下,libeay32.dll、ssleay32.dll 、 libssh2.dll 到 C:\windows\system32 目录。2. 拷贝php/ext目录下, php_curl.dll 到 C:\windows\system32 目录; 3. p...

放飞E梦想O
今天
0
0
谈谈神秘的ES6——(五)解构赋值【对象篇】

上一节课我们了解了有关数组的解构赋值相关内容,这节课,我们接着,来讲讲对象的解构赋值。 解构不仅可以用于数组,还可以用于对象。 let { foo, bar } = { foo: "aaa", bar: "bbb" };fo...

JandenMa
今天
1
0
OSChina 周一乱弹 —— 有人要给本汪介绍妹子啦

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子 :分享水木年华的单曲《中学时代》@小小编辑 手机党少年们想听歌,请使劲儿戳(这里) @须臾时光:夏天还在做最后的挣扎,但是晚上...

小小编辑
今天
68
8

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部