[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 你的数据库名称 要导入的数据文件夹
网友评论