不使用默认端口时mongo的几个坑(使用巡风时)

背景: 在企业安全中,比较基础的一块就是:资产漏洞管理; 巡风(关于巡风,点击此处了解)可以用来做这件事,当然某些地方需要根据自己实际情况修改、增加,这里不赘述; 其数据库为mongo;

在初步使用过程中,为了方便后续的开发,需要使用pycharm集成的mongo可视化插件, 这其中我们遇到了一些"不使用默认端口的坑"(大佬一笑而过。。。)

遇到两个问题:

1、无法shell连接数据库,mongo报错,

指定使用的端口也没用

2、pycharm的mongo插件无法连接,mechanism尝试default,报错如下,

看到支持的机制,那就尝试MONGODB-CR,这次报错不一样了:认证失败 ;但那里认证失败了呢,不知道。。。

解决:

1、首先搞清

mongo与mongod

要先启动mongod(有d的一般是守护进程,或服务本身),再mongo(连接服务)

2、发现巡风的数据库xunfeng配置时,指定了端口 65521,而不是默认的27017;

而巡风的配置文件Config.py里会写明,所以用巡风的脚本Run.sh启动时,完全没有问题;

但是,如果自己以shell方式要连接mongo时,如果以默认命令 mongo去连接就会报错,认证失败;

那么,就在在启动mongod的时候指定 端口65521来启动,

# mongod --port 65521 --dbpath=/var/lib/mongodb

(或更改mongod的配置文件,并# mongod --config /etc/mongodb.conf 以生效);

然后去连接mongo 127.0.0.1:65521/xunfeng

成功!

3、pycharm中安装mongo可视化插件时

会提示认证失败,一直找不到原因;

直到通过以上步骤shell连接上数据库,查看用户信息后才发现:

(你说坑不坑,错误提示里是没有的啊,为啥当时没有多试一个;))

在这里选择相应的方式

成功

这里记着要用使修改后的conf生效(但为啥:每次都要指定,或用配置文件启动 ),这样才会连接成功;

总结:

其实就是数据库的服务启动时的问题,

1、没有启动服务

2、在没有使用默认端口的情况下没有指定使用的端口,(配置文件里也没有写)

后续

启动mongod服务的,写在开机启动服务里,并在后台运行 就好;这样不用每次都手动启动

进入 /etc/rc.local 

在最后写 启动mongod的命令

mongod --port 65521 --dbpath=/var/lib/mongodb &

(或更改mongod的配置文件,并# mongod --config /etc/mongodb.conf &);

注:

1、记得写 “空格 &” 以后台形式运行;不然会在启动的时候卡住

2、如果有exit 0,上述命令写在exit 0 的前面;(exit 0 表示退出当前脚本,后续命令不会执行)

有不对之处,望大家能交流、指正;

谢谢!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏余生开发

vue - .babelrc

        // env项是借助插件babel-preset-env,下面这个配置说的是babel对es6,es7,es8进行转码,并且设置amd,comm...

1252
来自专栏python百例

120-打造vim为python IDE

pycharm之类的IDE很好,但是不能在无图形的终端下使用,另外它们是“重量级选手”。如果偶尔需要vim编辑python程序,能让vim支持python的语法...

1744
来自专栏L宝宝聊IT

YUM仓库服务与PXE网络装机

2805
来自专栏Java架构师历程

maven介绍

1 如果使用了spring,去spring的官网下载jar包;如果使用hibernate,去hibernate的官网下载Jar包;如果使用Log4j,去log4...

3955
来自专栏Laoqi's Linux运维专列

Ansible 实战与配置(Ⅲ)

1563
来自专栏Aloys的开发之路

在工作中遇到的问题

最近我经常要更改应用中的一些功能,其实要做的事情比较简单,但是也很繁琐,这里记录一下。由于只是实现一些小的功能接口,不会更改网站的显示内容,所以不能或者很难通过...

18610
来自专栏安恒信息

【高危】漏洞预警 | Linux Systemd存在高危远程溢出漏洞(CVE-2017-9445)

systemd是Linux下的init软件,主要用于减少系统引导时间和计算开销。 systemd 的systemd-resolved服务用于处理DNS请求并为本...

3217
来自专栏运维前线

Gitlab安装使用及汉化配置

一、GitLab简介 GitHub是2008年由Ruby on Rails编写而成,与业界闻名的Github类似;但要将代码上传到GitHub上面,而且将项目设...

1.9K6
来自专栏性能与架构

使用 cURL 测量网站响应时间

内容整理自:https://blog.cloudflare.com/a-question-of-timing/,其中还有 chrome 的测量方式,有兴趣的朋友...

1992
来自专栏小白安全

巧用netsh命令实现端口转发(端口映射)

巧用netsh命令实现端口转发(端口映射)  好处:即时生效,随意修改删除,不影响其他ip映射  记事本保存为bat格式批量添加后,并查看映射:  nets...

4696

扫码关注云+社区

领取腾讯云代金券