mongodb数据迁移

安装mongodb并创建用户

登录到目标机器,进行如下操作:

  • 安装mongodb(先不要启用auth及更改bind)
apt update 
apt install mongodb mongo-tools
  • 登录mongodb,创建一个管理员用户:
mongo
use admin
db.createUser({
              user:'xxxxx',
              pwd:'xxxxxxxx',
              roles: [{role:'userAdminAnyDatabase', db:'admin'}]
              })
  • 然后为具体数据库创建一个readWrite权限的用户:
use expression
db.createUser({
              user: 'xxxxx',
              pwd: 'xxxxxxxx',
              roles: [{role:'readWrite', db:'expression'}]
              })
  • 确认一下用户信息:(先切换到数据库,然后使用show users命令查看用户信息)

  • 然后修改bind和auth允许远程访问

vim /etc/mongodb.conf

# line 11:
bind_ip = 0.0.0.0
# line 22:
auth = true

数据库备份和恢复

登录到原数据库所在机器,进行如下操作:

  • 备份到本地文件夹
mkdir mongo_expression.bak
mongodump -h localhost -d expression -o mongo_expression.bak -u xxxxx -p xxxxxxxx
# 上面命令会在mongo_expression.bak创建expression文件夹,并把expression数据库备份到其中(xxx.bson和xxx.json文件)
  • 直接恢复到远程数据库
cd mongo_expression.bak
mongorestore -h 106.13.160.74:27017 -d expression --dir expression -u xxxxx -p xxxxxxxx
原文地址:https://www.cnblogs.com/dylanchu/p/11796046.html