MongoDB数据转成MySQL数据操作

1、将MongoDB中的数据导出为CSV格式

命令:mongoexport -h 127.0.0.1 -d mon  -c ids -f _id,risk_id,userId,projectId,deviceId,file_id,statis_id,persion_data_id,structId --csv -o C:\Users\26302\Desktop\csv\ids.csv

mon为数据库名称, ids为导出的表名,-f后为导出表的字段,-o后为导出文件的存放位置

2、在MySQL中创建对应的数据库和表,其中表中的字段必须要和csv文件中的表头顺序及名称相同!!!!

创建表的命令

CREATE TABLE sap_im (
txnType varchar(8) DEFAULT NULL,
issNo varchar(128) DEFAULT NULL,
sn varchar(128) DEFAULT NULL,
merchantorder varchar(128) DEFAULT NULL,
paymentType varchar(128) DEFAULT NULL,
paymentTime varchar(128) DEFAULT NULL,
authNo varchar(128) DEFAULT NULL,
expDate varchar(128) DEFAULT NULL,
cardNo varchar(128) DEFAULT NULL,
amount varchar(128) DEFAULT NULL,
batchNo varchar(128) DEFAULT NULL,
refNo varchar(128) DEFAULT NULL,
merchantName varchar(128) DEFAULT NULL,
voucher varchar(128) DEFAULT NULL,
acqNo varchar(128) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 

然后选中数据库执行:load data infile 'C:\Users\26302\Desktop\csv\device_points.csv' into table `device_points` character set utf8 fields  terminated by ',' optionally enclosed by '"'lines terminated by '\n' ignore 1 lines;

MySQL一般默认关闭导出和导入功能,则会报错:

ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot execute this statement

通过show global variables like '%secure%';(在mysql环境中执行)

若secure_file_priv = null,则需要在my.ini的[mysqld] 中配置secure_file_priv =''

 

你可能感兴趣的:(MongoDB转MySQL)