废话少说,直接上干货。
1、mongoexport -d shengyang -c testData -f _id,x,name,name1,name2 --type=csv -o new.csv
用mongodb自带的mongoexport先导出mongo数据库现有的一个数据表。远程导出的话要
指定h(主机ip),有用户名和密码的还要指定-u(用户名) -p(密码)。如果没有就算了。
-d 是指定要导出的数据库。
-c 是导出那一张表。
-f _id 指定格式,后面的x啊,name啊都是相应的字段,如果不记得可以find命令查几条数据看看
就知道了。
--type 这个很重要,因为MySQL就是要导入指定的数据格式的。所以再mongo这边导出的时候
一定要指定导出的格式为***.csv。
第二部分(将mongo导出来的数据导入到MySQL中)
1、首先进入到MySQL的窗口界面吧,就是这样。
2、创建一个与mongo那边同名的数据库,记得指定数据格式为utf8,这样可以避免后期导入数据出现乱码。
create database shengyang DEFAULT CHARACTER SET utf8;
3、再再这个数据库里面创建跟mongo那边同样名字和字段的表!!!!
注意:一定要字段这些都要一样,不然的话待会不好导入。
create table testData(x int,name varchar(20),name1 varchar(20),name2 varchar(20),name3 varchar(20));
4、确定这些都操作好之后就可以导入数据了。
LOAD DATA INFILE "/tmp/new.csv" REPLACE INTO TABLE testData FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"' ESCAPED BY '"' LINES TERMINATED BY ' ';
/tmp/new.csv是mongo导出数据的时候存放的地方,最好放这里。可以避免权限问题。如果放在其它地方
即使给了777的权限有时候也会出现导不进去。本人就是遇到这种情况。
然后我果断把它放到tmp目录下,果然一导就ok了