MongoDB数据库快速拷贝及数据库无法被外网访问问题

将MongoDB数据库从源数据库拷贝到本地.

先开启服务,然后mongo命令进入到数据库。

 db.copyDatabase(fromdb, todb, fromhost, username, password, mechanism)

fromdb:源数据库名
todb:给该数据库重命名(可以和源数据库名相同,也可以不同)
fromhost:源数据库地址 ip+port
username:源数据库账号
password:源数据库密码
mechanism: 有 MONGODB-CR or SCRAM-SHA-1这2种 , db.isMaster().maxWireVersion 值大于等于3 那默认就是 SCRAM-SHA-1 否则默认就是 MONGODB-CR
例:

db.copyDatabase(“admin”,“admin”,“10.217.48.99:27017”,“admin”,“123456”,“SCRAM-SHA-1”)

注:如果是同一实例下复制,则可以省略,只需要源数据库名和目标数据库名。

>show dbs(查看当前数据库)

注:拷贝之后的数据库是不会拷贝源数据库的用户的
所以我们给拷贝之后的目标数据库添加用户

> show dbs(查看当前数据名)
> use 数据库名(会出现switched to db 数据库名)
> 查看当前在那个数据库下(db)
> show user(查看当前数据库有哪些用户)
##########因为不会拷贝源数据库用户,所以也不会出现。我们来创建一个 普通用户#########
>db.createUser({
user:“admin”,
pwd:“123456”,
roles:[{role:“readWrite”,db:“数据库名”}]
})
########注:普通用户的权限 无root,可选read,readWrite###########

之后我们启动服务,测试一下连接
本地连接127.0.0.1 默认端口27017,数据库名,账号,密码
连接成功。如果本地连接未成功请检查服务启动情况。
我的电脑-右键-管理-服务-找到MongoDB检查启动状态

####有时候我们会遇到本地可以访问,外网无法访问的状态#####

首先我们检查一下自己的数据库端口是否能连通

> telnet ip 端口(用要访问的本地ip端口测试)
在这里插入图片描述
因为该主机我已经改过了,所以127.0.0.1 ip会失败,如果未修改的情况 127.0.0.1 27017会出现dos框全黑,说明可以连通。

###### telnet命令无效的 —#####

点击"开始"→"控制器面板"→" 查看方式:类型"则点击"程序"(“查看方式:大图标"则点击"程序和功能”)→ "启动或关闭windows功能"→ 在"Windows功能"界面勾选Telnet服务器和客户端 →最后点击"确定"等待安装。


首先我们删除之前只能本地访问的MongoDB服务
>sc delete 服务名

我们进入到MongoDB的bin目录下

>cd D:\MongoDB\Server\4.0\bin

注:在data文件夹下创建db文件夹

>mongod --dbpath “D:\MongoDB\Server\4.0\bin\data\db” --logpath “D:\MongoDB\Server\4.0\log\mongodb.log”
–port 27017 --bind_ip 你的ip --install --serviceName “MongoDB”
> net start mongodb

启动成功之后 再次检查端口

>telnet ip port
成功之后会出现dos窗口全黑
到这里复制的数据库就可以完全登录了

如果有任何问题欢迎大家留言讨论.

另:MongoDB数据拷贝还有clone等方式.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值