转自:http://www.csser.com/dev/577.html
CSSer.com采用的是wordpress程序,数据库为mysql,要想移植到MongoDB数据库,则需要进行数据转换。
数据转移有多种方案,本质上需要将mysql数据转换为一种MongoDB可以直接导入的格式即可。MongoDB提供了mongoimport工具,可以支持导入json,csv的格式。
先来看一下mongoimport支持的参数:
$ mongoimport --help
options:
--help produce help message
-v [ --verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
-h [ --host ] arg mongo host to connect to ( <set name>/s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
needs to lock the data directory, so cannot be used
if a mongod is currently accessing the same path
--directoryperdb if dbpath specified, each db is in a separate
directory
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-f [ --fields ] arg comma separated list of field names e.g. -f name,age
--fieldFile arg file with fields names - 1 per line
--ignoreBlanks if given, empty fields in csv and tsv will be ignored
--type arg type of file to import. default: json (json,csv,tsv)
--file arg file to import from; if not specified stdin is used
--drop drop collection first
--headerline CSV,TSV only - use first line as headers
--upsert insert or update objects that already exist
--upsertFields arg comma-separated fields for the query part of the
upsert. You should make sure this is indexed
--stopOnError stop importing at first error rather than continuing
--jsonArray load a json array, not one item per line. Currently
limited to 4MB.
由上面的帮助文档可以看出,采用csv作为中间数据格式,无论对于mysql的导出,还是mongodb的导入,都算得上是成本最低了,于是一回就尝试了一把:
首先,将mysql数据库中的wp-posts表导出,一回偷懒了,直接用phpmyadmin的导出功能,选择csv格式导出,并选中了“删除字段中的换行符”以及“将字段名放在第一行”,保存文件名为csser.csv。
接着,到mongodb服务器,shell下连接MongoDB数据库,并进行数据导入:
$ mongoimport -d csser -c posts -type csv -file csser.csv --headerline
connected to: 127.0.0.1
imported 548 objects
$ mongo
MongoDB shell version: 1.8.1
connecting to: test
> use csser
switched to db csser
> db.posts.count()
547
> db.posts.find({}, {"post_title":1}).sort({"ID":-1}).limit(1)
{ "_id" : ObjectId("4df4641d31b0642fe609426d"), "post_title" : "CSS Sprites在线应用推荐-CSS-sprit" }
分享到:
相关推荐
数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出数据库文档导出...
最新5级省市联动数据库,MongoDB数据库导出到MySQL,想要MongoDB数据的也可以联系我。最新爬取数据,截止到2017年10月31日。
任何需要快速、准确接收MySQL数据变化增量的场景均适用,例如广告传输流:输出到本地增量文件数据同步:可数据库同构复制,也可以跨异构数据源sync,比如MySQL到一些NoSQL,例如redis、mongodb,或者es、solr等提供...
DBeaver 采用 Eclipse 框架开发,支持插件扩展,并且提供了许多数据库管理工具:ER 图、数据导入/导出、数据库比较、模拟数据生成等。 DBeaver 通过 JDBC 连接到数据库,可以支持几乎所有的数据库产品,包括:MySQL...
使用python从MySQL数据库快速导出到MongoDB。 main.py -h Usage: main.py [options] Options: -h, --help show this help message and exit -t TABLES, --tables=TABLES List of exported tables by comma --...
使用MySQL和MongoDB分别存储数据和图片 使用Redis缓存来提升数据库查询性能 主要分为四个模块: 用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改 仪表盘管理模块 :展示当前月...
同步该产品是为MongoDB和RDBMS数据库之间的双向数据迁移而构建的。特征: 几乎可以与任何SQL数据库(使用JDBC)一起使用。 经过Oracle和MySQL测试。 简单直观的用户界面,用于在数据库之间创建映射并跟踪实时迁移。 ...
使用MySQL和MongoDB分别存储数据和图片 使用Redis缓存来提升数据库查询性能 主要分为四个模块: 用户管理模块 :用户登录、注册、密码找回(通过邮箱方式)、用户信息修改、密码修改 仪表盘管理模块 :展示当前月...
Navicat Premium是一个数据库开发工具,可让您从单个应用程序同时连接到MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL和SQLite数据库。与Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure...
Navicat 是一款功能强大的数据库管理和开发工具,它支持多种数据库系统,包括 MySQL、MariaDB、MongoDB、PostgreSQL、SQLite、Oracle 和 SQL Server 等。无论是数据库管理员、开发人员还是数据分析师,Navicat 都能...
该项目将提供的数据库从文件加载到SQL中。 数据集和整体数据库结构与“数据集解析:SQL”项目的概述类似。 该项目演示了如何使用各种类型SQL查询来查找指定的数据子集。 数据库查询:MongoDB 该作业包括与包含的...
“Navicat”是一套可创建多个连接的数据库管理工具,用以方便管理 MySQL、Oracle、PostgreSQL、SQLite、SQL Server、MariaDB、MongoDB 和/或 Redis 等不同类型的数据库,并支持管理某些云数据库,例如阿里云、腾讯...
Navicat Essentials可用于商业用途,并且可用于MySQL,MariaDB,MongoDB,SQL Server,PostgreSQL,Oracle和SQLite数据库。如果您需要同时管理所有上述数据库服务器,还可以使用Navicat Premium Essentials从单个...
使用导入/导出向导可以从纯文本格式(例如TXT,CSV,XML和JSON)进行数据转换。使用我们的内置编辑器添加,修改和删除记录,您可以在Tree View,JSON View和类似电子表格的经典Grid View中方便地进行编辑。Navicat ...
如何把应用从单机扩展到分布式 大型分布式架构演进过程 分布式架构设计 主流架构模型-SOA架构和微服务架构 领域驱动设计及业务驱动规划 分布式架构的基本理论CAP、BASE以及其应用 什么是分布式架构下的高可用...
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是...
RazorSQL 是一款优秀的数据库管理客户端,具有数据库连接、SQL编辑和查询、数据库管理、导入/导出数据等等功能。 支持主流的30多种数据库,如:Cassandra、Oracle、SQLite、MS SQL Server、MySQL、MongoDB等
Navicat Premium 是一套多连接数据库开发工具,让你在单一应用程序中同时连接多达七种数据库:MySQL、MariaDB、MongoDB、SQL Server、SQLite、Oracle 和 PostgreSQL,可一次快速方便地访问所有数据库
具有很多功能,包括元数据编辑器,SQL编辑器,丰富的数据编辑器,ERD,数据导出/导入/迁移,SQL执行计划等。 基于Eclipse平台。 使用插件架构,并为以下数据库提供附加功能:MySQL / MariaDB,PostgreSQL,Greenplum...