腾讯云上安装Mongodb踩坑

腾讯云上安装Mongodb踩坑

在ubuntu16.04上安装mongodb,我用了两天,焦头烂额,直到这一刻我才终于解决了【身心疲惫】

第一次安装

首先按照mongodb官网的文档一步步安装,安装好了
启动方式1:service mongod start 不行
启动方式2:mongod 不行,找不到dbpath=/data/db
查看/etc/mongod.conf

storage:
  dbPath: /var/lib/mongodb
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log

# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0

这种默认配置并没有起作用,程序还是自个去找/data/db
解决:在根目录下创建/data/db
然后程序就启动成功了
[initandlisten] waiting for connections on port 27017
但是!我再开一个服务器窗口时,输入mongo

connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
2019-08-11T20:43:17.451+0800 E QUERY    [js] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect@src/mongo/shell/mongo.js:344:17
@(connect):2:6
exception: connect failed

由于这个错误,我开启了两天的艰苦探索
起先我是检查了防火墙,千真万确地开了27017的端口,奈何mongodb的进程也在运行,就是连不上。。。

wget安装
于是,折腾到今天早上,我觉得放弃它了,卸了,通过这种方式来安装。
之前一直看别人的教程,老一点的教程基本是线上下载或上传服务器taz软件包来安装。
这种方式可以指定安装目录,可以找到./bin文件的mongodb.exe来运行,跟windows上面安装的步骤很相似。说不定可以解决我一直连接不上的问题。

https://repo.mongodb.org/apt/ubuntu/dists/xenial/mongodb-org/4.0/multiverse/binary-amd64/mongodb-org-server_4.0.12_amd64.deb

下载完才发现,.deb,这可咋整?

sudo dpkg -i mongodb-org-server_4.0.10_amd64.deb

然后它就自动安装好了
启动:mongod 报错:找不到service
(这次默认路径还是/data/db,但是我之前建好了)
不停百度:最后通过

sudo mongod --repair 

mongo报错
开启成功,再开一个服务器小黑窗,输入:mongo 报错
提示什么program mongo 什么的,问要不要安装apt-get mongodb-client.
一脸懵逼,看别人说真解决不了就照着提示安装,还好我没有,因为它提示会remove mongodb的一些路径,我也不清楚它是不是要通过apt-get帮我重新安装,而且也没指定版本号,后面要是有兼容问题就得不偿失了

官网是是在mongo shell键入mongo这个命令,我就想shell是什么?
后面通过locate mongodb,发现有出现目录

/usr/share/doc/mongodb-org-shell

但是进不去,原来mongodb-org-shell还没有
吐血安装官方文档把下面四个包都下载了
在这里插入图片描述
启动成功,查看线程*

ps -ef | grep mongod

终于可以键入mongo命令了,但是还是老问题connection refused
在这里插入图片描述
猜想一:是不是没有指明配置文件?
方法:

mongod -f /data/mongod.conf
或者
# sudo mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongod.log

都是.log文件无法打开;或者说堆栈溢出
.log给了权限sudo chomd 777 /var/log/mongodb/mongod.log,报mongod.log exist,remove to mongod.log.
这个我真的不懂了,算了logpath出问题,我就指定dbpath好了

sudo mongod --dbpath /var/lib/mongodb

但是到了mongo这一步又是connection refused.
真的吐血了
我真的放弃了,然后就去看了买mongodb云服务要多少钱,默默又退回来继续

这时候,我开始怀疑是不是腾讯云的问题,一查,果然。有人说,它的27017端口是要给自己家的Mongodb用的。。。。
我哭了

 sudo mongod --dbpath /var/lib/mongodb --bind_ip 内网ip --port 非27017端口
 #也可以 sudo mongod --dbpath /var/lib/mongodb --bind_ip127.0.0.1 --port 非27017端口,但是只能在服务器的shell进行连接

在本地浏览器上键入内网ip:端口号
出现了令人性奋的一幕
在这里插入图片描述
此时,服务器的另一个小黑窗,键入

 mongo --host 内网ip --port 8888

在这里插入图片描述
不放弃,多总结,总会有的。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值