当前位置:秋叶网络博客 网站建设 ◊ mysql数据库迁移导入到mongodb详细教程

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

作者:秋叶 发表时间:2017年7月28日

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

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

mysql导出数据

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

单选一个表

格式这里选择csv格式。

选择导出csv格式文件

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

勾选删除回车换行和表头字段名

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

cd mongopath

运行导入文件命令: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  以新增或者更新的方式来导入数据

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

csv导入成功

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

mongovue

注意:mongodb 3.X版本默认是wiredTiger 引擎,2.x默认是mmapv1 引擎,如果你用了最新版的mongodb, 默认用mongovue是查看不到数据的,要转成mmapv1就可以显示了。或者你也可以通过命令行来查看导入的数据:

查看mongo数据

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

目录: 网站建设 | 标签: | 4706次阅读