运行mongodb相关代码失败
来源:6-3 数据存储之增加和查找数据
富百世
2020-12-03 15:02:49
老师:运行代码区所示代码失败,报错如代码区,本机ping 192.168.1.5能通,虚拟机ping 127.0.0.1能通,但虚拟机ping 192.168.1.254不通,192.168.1.254为本机设置的IP地址。请问如何解决?

第二个问题:像上面输入ifconfig后怎么有三条记录?好像学习视频上只有头两条记录,请问第三条记录virbr0是怎么来的?是哪个的ip地址?求解,谢谢!
import pymongo
myclient = pymongo.MongoClient("mongodb://192.168.1.5:27017")
mydb = myclient['imooc']
mycollection = mydb['pymongo_test']
result = mycollection.insert_one({"name": "baidu", "flag": 2, "url": "https://www.baidu.com"})
print(result)
(self._error_message(selector), timeout, self.description))
pymongo.errors.ServerSelectionTimeoutError: 192.168.1.5:27017: timed out, Timeout: 30s, Topology Description: <TopologyDescription id: 5fc884b5090f14d919b53cac, topology_type: Single, servers: [<ServerDescription ('192.168.1.5', 27017) server_type: Unknown, rtt: None, error=NetworkTimeout('192.168.1.5:27017: timed out')>]>
2回答
同学,你好。
问题一:
1、修改mongo.conf文件,将原来bindIp:127.0.0.1 修改为0.0.0.0,默认为127.0.0.1只能本机访问,不能指定ip访问。
若使用源码安装是没有配置文件的,同学可在启动mongodb服务时加上参数--bind_ip 0.0.0.0。
例:mongod --dbpath data/ --logpath log/mongo.log --port 27017 --bind_ip 0.0.0.0 --fork
2、永久开放27017端口:
firewall-cmd --zone=public --permanent --add-port=27017/tcp;
3、重启防火墙
firewall-cmd --reload
4、再执行相应代码即可连接mongodb
问题二:
1、virbr0 是虚拟网络接口,并且会自动获得一个私有地址,是因为安装系统的时候附带了libvirt服务才会生成的,用不到的,同学作为了解即可
富百世
提问者
2020-12-03
老师:补充一句:mongodb数据库也已经开启。
相似问题