之前已经:
接着去要把本地main的数据去导入到在线服务器中。
大概步骤是:
在线服务器中创建MongoDB账号
本地导出storybook.main
再去上传导出的文件
再去导入数据到在线MongoDB
所以先去到在线服务器中给MongoDB数据库创建新用户
先去参考自己的:
先去登录:
[root@xx-general-01 ~]# mongo –host localhost –port PORT -u root -p PWD –authenticationDatabase admin
MongoDB shell version: 3.2.19
connecting to: localhost:32018/test
Server has startup warnings:
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten]
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always’.
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never’
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten]
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always’.
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never’
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten]
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files.
2018-08-28T11:40:44.281+0800 I CONTROL [initandlisten]
> use admin
switched to db admin
> show users
{
"_id" : "admin.root",
"user" : "root",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
然后去创建新用户,结果出错:
【已解决】MongoDB的shell中创建用户出错:Error couldn’t add user No role named root@xxx
导入之前,先用MongoDB Compass去连接生产服务器,看看上面的数据:
看看能否正常连接。
可以连接的
是我们希望的,空的一个db和collection。
所以去:
【已解决】MongoDB中用导出本地数据再用导入到在线数据库
【总结】
此处要把MongoDB中合并后的某db的两个collection去备份导出,再去导入到在线服务器中的步骤是:
1.创建在线环境中的新的db的账号
(1)登录并进入到admin数据库
mongo –host localhost –port PORT -u root -p PWD –authenticationDatabase admin
use admin
(2)在admin中创建新db的用户
db.createUser({
user: "storybook",
pwd: "PPWWDD",
roles: [ { role: "dbOwner", db: "storybook" } ]
})
其中:dbOwner这个role角色,表示是数据库storybook的账号拥有者 -》可以增删改查以及删除等有所有的权限
2.本地备份导出
在某个文件夹中:
mongodump -d db_name -o .
即可导出:
db_name
collection1.bson
collection1.metadata.json
collection2.bson
collection2.metadata.json
比如:
storybook
scholastic.bson
scholastic.metadata.json
main.bson
main.metadata.json
3.恢复导入到在线服务器
mongorestore -h HOST –port PORT -u yourUserName -p yourPwd –authenticationDatabase yourAuthDb -d db_name ./db_name
比如:
mongorestore -h HOST –port PORT -u storybook -p PPWWDD –authenticationDatabase storybook -d storybook ./storybook
即可导入到在线的MongoDB数据库中了。