当前位置:   article > 正文

mysql 导入mongodb_mysql数据库迁移导入到mongodb详细教程

failed: fields cannot be identical: '' and

一直都想用nodejs改造我的博客,由于时间关系和价值衡量(懒)没有付诸行动,近来访问我的博客也变慢了,wordpress这开源框架着实臃肿,而且这是国外的产品,引用了许多外部资源造成打开慢也就理所当然了,咬牙切齿间心血来潮,打算抛弃后端php框架用node原创一个网站出来。当然转node也不只是提快访问速度体验,废话不多数,待到我成功从wordpress转成node了会有大作交流~。前期首要任务就是数据库的迁移,数据库也不用mysql了,直接mongodb,这两者的对比就不说了,自行了解。

首先用mysql工具,我这里以phpmyadmin数据库管理工具(大众化工具),进入你要导出的数据库,选中所有表,点击上面的“导出”数据。

48fd7f261f94dd48a26a0427088882b2.png

跳转到导出页面,这里的设置一定要注意下,不能全选数据库的表,只能一个个表导出,单击以获取某个表,每个表导出一个csv文件。

f1efae58bfc49e95e4e6c40a2a82e39e.png

格式这里选择csv格式。

4ffe8341401b5dac912755a1ffdb9567.png

滚动到csv设置模块设置,勾选“首行保存字段名”,这里很关键,不勾选的话,你导入到mongodb中会出错:Failed: fields cannot be identical: '' and '',主要原因是表头没了,也就是字段名没了。

c2c05863a58bd5a677ad0288d967da5e.png

把该数据库的所有表都导出之后,就通过mongodb命令行导入到mongo数据库中,先进入到mongodb安装目录的bin目录里面。

9c845cbe9dd59abca1bf85d7a92e6a8b.png

运行导入文件命令:mongoimport -h 127.0.0.1 -d mizuiren -c users --type csv --file D:\users.csv --headerline --upsert

要先创建一个数据库,表可以不用创建,导入数据的时候会自动创建,如果没有配置-c,mongo会自动给创建一个与csv文件名相同的表,命令的配置参数为:

-h host主机名,如果是本地的话不用改,就是127.0.0.1

-d    指定把数据导入到哪一个数据库中

-c    指定把数据导入到哪一个集合中

--type    指定导入的数据类型

--file       指定从哪一个文件中导入数据(文件的路径)

--headerline    仅适用于导入csv,tsv格式的数据,表示文件中的第一行作为数据头(表头)

--upsert  以新增或者更新的方式来导入数据

出现导入多少文件的信息就表示导入成功了。

8ff34f4fa6f84880ed34eebb0c818606.png

把所有csv文件导入成功之后就可以看到数据了,我这里用了mongovue来查看数据。

0d034db9370fb4304cb1c7d7b79dc051.png

注意:mongodb 3.X版本默认是wiredTiger 引擎,2.x默认是mmapv1 引擎,如果你用了最新版的mongodb, 默认用mongovue是查看不到数据的,要转成mmapv1就可以显示了。创建数据库的时候用以下命令,注意路径。

mongod -storageEngine mmapv1 -dbpath E:\mongodb\data

或者你也可以通过命令行来查看导入的数据:

44ecf37458ae3f1baf160f40adc7713b.png

wordpress转nodejs就成功一大截了,程序不是问题,接下来就是服务器端的部署了。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/675556
推荐阅读
相关标签
  

闽ICP备14008679号