我爱编程

迁移mongodb数据

2017-12-25  本文已影响0人  IfZhou

[TOC]

迁移mongodb数据

1. 新机器安装mongodb

1.1 下载和安装

方式一,直接下载包,解压

缺点,更改相关配置,找不到配置文件,只能在命令行中带入参数

curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz    # 下载
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz                                   # 解压

mv  mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb                         # 将解压包拷贝到指定目录


方式二,yum安装

参考官方文档:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

创建/etc/yum.repos.d/mongodb-org-3.4.repo 文件

[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc

最后执行:

sudo yum install -y mongodb-org

1.2 查看/更改数据目录和日志目录

默认为 /data/db

通过第一步的方法二安装的数据库配置文件为:/etc/mongod.conf

systemLog:
  destination: file    
  logAppend: true  
  path: /var/log/mongodb/mongod.log  #日志路径
  
# Where and how to store data.
storage:
  dbPath: /var/lib/mongo  #数据路径

更改上述两个变量即可修改数据目录和日志目录

Mongodb后台运行

mongod --fork --logpath=/data/dblog/mongodb2.log --logappend

1.3 启动方式

之前一直有疑惑,直接使用官网指南启动,一直不会按照mongodb的配置文件去启动,会报没有数据保存路径的错误。

sudo service mongod restart

后来使用如下命令,并在后面带各种参数,没有问题,但是没根据配置文件启动仍不满意。

mongod  --dbPath=...

后来查了一下,最终这样启动才是没问题的:

mongod --config /etc/mongod.conf

1.4 一个注意点

在为mongodb配置远程连接时,配置文件的bindIp是指绑定到本机的哪个IP,而不是只可以允许哪个IP来连接

同时注意,如果像我一样使用的是云服务,想要绑定到外网IP,会报错误48。经查,需要修改为内网IP。原因大概是IP NAT ,外网映射至内网

net:
  port: 27017
  bindIp: 127.0.0.1,172.19.239.111

2. 数据导出

使用的是mongodump导出

3. 数据导入

mongorestore -d 你的数据库名称 要导入的数据文件夹
上一篇下一篇

猜你喜欢

热点阅读