Linux上MongoDB无法连接解决之道

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 解决重启机器后mongodb不能连接的问题

问题描述

在没有stop mongodb服务的情况下reboot,导致在下次开机的时候mongodb无法连接,报错如下

MongoDB shell version v3.6.0-rc8
connecting to: mongodb://127.0.0.1:27017
2017-12-13T23:17:45.122+0800 W NETWORK  [thread1] Failed to connect to 127.0.0.1:27017, in(checking socket for error after poll), reason: Connection refused
2017-12-13T23:17:45.122+0800 E QUERY    [thread1] Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed :
connect@src/mongo/shell/mongo.js:251:13
@(connect):1:6
exception: connect failed

原因分析

打开日志目录,大致内容如下
mongodbError
分析不出什么结论,网上一查原来是有个mongod.lock文件占用了,删除即可,那就行动了。

解决步骤

  1. 移除mongod.lock文件
sudo rm /var/lib/mongodb/mongod.lock
  1. 修复mongodb
sudo mongod --repair
  1. 启动mongdb
sudo service mongod start
  1. 查看mongodb状态
service mongod status

显示如下:

 ● mongod.service - High-performance, schema-free document-oriented database
  Loaded: loaded (/lib/systemd/system/mongod.service; disabled; vendor preset:
  Active: active (running) since Wed 2017-12-13 23:50:56 CST; 12min ago
    Docs: https://docs.mongodb.org/manual
Main PID: 2662 (mongod)
  CGroup: /system.slice/mongod.service
          └─2662 /usr/bin/mongod --config /etc/mongod.conf
  1. 打开mongo控制台
mongo

显示如下
mongo

总结

问题成功解决,归根原因还在于上次关机的时候没有将mongod服务停止,导致mongod处于被锁状态,形成mongod.lock文件,而mongod服务启动又要去检查是否有mongod.lock文件,检查到有该文件,所以无法启动。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
目录
相关文章
|
10月前
|
NoSQL Linux MongoDB
linux麒麟系统安装mongodb7.0
linux麒麟系统安装mongodb7.0
571 10
|
10月前
|
NoSQL Linux Shell
linux 下mongodb7版本怎么连?
linux 下mongodb7版本怎么连?
238 10
|
3天前
|
NoSQL IDE MongoDB
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
54 2
Studio 3T 2025.5 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
23天前
|
NoSQL IDE MongoDB
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
33 0
Studio 3T 2025.4 (macOS, Linux, Windows) - MongoDB 的终极 GUI、IDE 和 客户端
|
6天前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
28 0
|
5月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
150 5
|
5月前
|
网络协议 安全 Linux
Linux中无法连接互联网或局域网
【10月更文挑战第5天】
916 3
|
10月前
|
NoSQL Linux Shell
Linux MongoDB重启命令
【5月更文挑战第8天】
697 6
|
6天前
|
存储 NoSQL MongoDB
微服务——MongoDB常用命令1——数据库操作
本节介绍了 MongoDB 中数据库的选择、创建与删除操作。使用 `use 数据库名称` 可选择或创建数据库,若数据库不存在则自动创建。通过 `show dbs` 或 `show databases` 查看所有可访问的数据库,用 `db` 命令查看当前数据库。注意,集合仅在插入数据后才会真正创建。数据库命名需遵循 UTF-8 格式,避免特殊字符,长度不超过 64 字节,且部分名称如 `admin`、`local` 和 `config` 为系统保留。删除数据库可通过 `db.dropDatabase()` 实现,主要用于移除已持久化的数据库。
33 0
|
6天前
|
存储 NoSQL MongoDB
从 MongoDB 到 时序数据库 TDengine,沃太能源实现 18 倍写入性能提升
沃太能源是国内领先储能设备生产厂商,数十万储能终端遍布世界各地。此前使用 MongoDB 存储时序数据,但随着设备测点增加,MongoDB 在存储效率、写入性能、查询性能等方面暴露出短板。经过对比,沃太能源选择了专业时序数据库 TDengine,生产效能显著提升:整体上,数据压缩率超 10 倍、写入性能提升 18 倍,查询在特定场景上也实现了数倍的提升。同时减少了技术架构复杂度,实现了零代码数据接入。本文将对 TDengine 在沃太能源的应用情况进行详解。
22 0