mongodb 与 mysql 数据同步

本文探讨了将MongoDB中的数据备份至MySQL的方法。鉴于MongoDB仅支持bson格式且考虑到数据库稳定性的需求,作者通过遍历MongoDB数据并使用mysqlimport工具将其导入MySQL中,解决了数据迁移的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

其实有点标题了,主要是自己做个备忘。

由于mongodb目前只提供bson格式(也支持json)啦,而本人的老大又有些对nosql
惶恐(算是基于对纯内存的稳固性的不信任吧)。故而迫切需求将基于mongodb的数据做一个mysql的备份。google了一圈也没找着类似需求(是不是这个需求太过于BT了?)。

既然mongodb无法对sql直接支持,目前的做法只能是遍历取出数据了(幸而这也不慢)。主要卡在数据如何塞入mysql,不是dba,一时半会还真只想到边取边插入的办法,于是乎,mysql不干了。

于是乎,发现了(终于)强大的mysqlimport.

额,水多了。

最终组织的数据文本是这个样子:

"","1","1","0","0","","1","0","url","264442626","0","0","0","0","1","20101218","6","0","0"
"","1","1","0","0","","1","0","url","264442626","0","0","0","0","1","20101218","6","0","1"


导入代码:

mysqlimport -h xxx.xxx.xxx -u root -pxxxxxx -L --fields-terminated-by=, --fields-enclosed-by=\" test ./201012_link.txt


解释:
数据文本就是以行为单位,以逗号为分隔符,以双引号包夹为完整字段内容,按照mysql表的字段顺序排列。
mysqlimport是mysql自带的工具,具体参数内容可以help。

这里关键要注意到是数据文本的第一列,这里是置的空字符串。如果空字符串对应的列有自增长或者默认值之类的,数据库内容会自动替换成对应的自增长数字等。

到这里,我的备忘算是结束了。不过真正的大杀器连尖尖角都还没有露出来。

--据说,mongodb slave同步是用的xml。
--据说,这个xml是可以获取到的。
--据说,sphinx这个强大的分词工具是支持xml的。
--据说,bson是可以压缩存放的。
--据说...

未来,真的是,为什么还要mysql?!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值