Linux平台安装MongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: Linux平台安装MongoDB

下载地址:https://www.mongodb.com/download-center/community


选择Linux平台的下载链接

一、安装步骤

1、下载安装

# 1、下载
$ wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz

# 2、解压
$ tar -zxvf mongodb-linux-x86_64-4.0.9.tgz

# 3、改名,放到目录:/usr/local
$ mv mongodb-linux-x86_64-4.0.9 /usr/local/mongodb

# 4、新建必要的文件夹(依次是:数据库 日志 配置文件)
$ cd /usr/local/mongodb
$ mkdir data log etc

# 5、添加系统路径
$ vim /etc/profile

export PATH=$PATH:/usr/local/mongodb/bin

# 6、配置生效
$ source /etc/profile

# 7、查看是否添加
$ echo $PATH

# 或者做软链
ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo

2、配置文件

$ vim etc/mongodb.conf

配置内容

# db存放的目录
dbpath=/usr/local/mongodb/data

# 后台启动需要配置日志输出
logpath=/usr/local/mongodb/log/mongodb.log

# 端口
port=27017
bind_ip = 127.0.0.1

# 设置成后台启动
fork=true
journal=false

3、启动关闭


# 启动服务
mongod --config /usr/local/mongodb/etc/mongodb.conf

# 关闭服务
mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown

# 或者
killall mongod

二、外网访问和权限

1、添加用户

# 本地连接
$ mongo

# 添加用户
> use admin
switched to db admin
> db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

# 添加超级用户
> db.createUser({user: "root",pwd: "123456",roles: [ { role: "root", db: "admin" } ]});

# 查看已有用户
> show users

# 删除单个用户
> db.system.users.remove({user:"XXXXXX"})

# 关闭服务
> db.shutdownServer()

2、配置文件中添加

# etc/mongodb.conf

# 登录验证
auth=true

# 外网访问 
bind_ip = 0.0.0.0

然后启动,这时需要进行验证

# 本地连接 - 连接时验证
$ mongo -u username -p password

# 远程连接 - 连接时验证
$ mongo 127.0.0.1/admin -u username -p password

# 远程连接 - 连接后验证
$ mongo 127.0.0.1/admin

> use admin
switched to db admin

> db.auth("username", "password")
1

三、设置开机启动

vim /etc/rc.d/init.d/mongod

内容如下, 注意使用绝对路径

start() {  
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
}  
  
stop() {  
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
}  
case "$1" in  
  start)  
 start  
 ;;  
  
stop)  
 stop  
 ;;  
  
restart)  
 stop  
 start  
 ;;  
  *)  
 echo  
$"Usage: $0 {start|stop|restart}"  
 exit 1  
esac

启动关闭

# 更改权限
chmod +x /etc/rc.d/init.d/mongod

# 启动服务
service mongod start

# 关闭服务
service mongod stop

四、其他

1、检查端口号开启情况

# 查看开启的端口号
iptables -L -n

# 查看端口使用情况
lsof -i:27017

2、Python使用的连接url:

mongodb://:@:/

# 例如:
mongodb://root:123456@127.0.0.1:27017/test

五、报错及解决

1、mongo启动报错

mongod: 无法执行二进制文件

解决:

检查你的linux是64还是32位,版本是否对应

$ getconf LONG_BIT

2、端口问题解决:

MongoDB 开放外网访问了,可是就是访问不到,要考虑平台的端口权限了,可以尝试从以下3点考虑

1、如果用了宝塔面板端口开放,也可以在服务器上开放,效果一样的
2、阿里云控制台的安全组
3、mongod端口开放

参考

  1. linux部署mongodb及基本操作
  2. Linux下MongoDB安装和配置详解
目录
相关文章
|
消息中间件 NoSQL Java
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
Redis系列学习文章分享---第六篇(Redis实战篇--Redis分布式锁+实现思路+误删问题+原子性+lua脚本+Redisson功能介绍+可重入锁+WatchDog机制+multiLock)
539 0
|
安全 Linux 网络安全
docker常见问题
【10月更文挑战第2天】
370 3
|
消息中间件 存储 Java
快速入门 Kafka 和 Java 搭配使用
快速入门 Kafka 和 Java 搭配使用
497 0
|
Java 应用服务中间件 微服务
Spring Boot可以同时处理多少请求?
Spring Boot的并发处理能力受硬件、JVM配置、嵌入式Tomcat的线程池(默认最大连接数8192,最大等待数100)、应用效率、系统架构和网络条件影响。开发阶段可能处理数百个并发,优化后在适合的硬件上可处理数千乃至上万并发。大型系统常结合负载均衡器。
720 2
|
Dubbo 关系型数据库 MySQL
Seata常见问题之serviceA方法无法注册分支事务到Seata如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
|
XML Java 数据格式
【springboot原理篇】Bean的加载方式,面试必看
【springboot原理篇】Bean的加载方式,面试必看
713 0
|
存储 NoSQL 关系型数据库
Seata常见问题之使用了@GlobalTransactional出现空指针的错误如何解决
Seata 是一个开源的分布式事务解决方案,旨在提供高效且简单的事务协调机制,以解决微服务架构下跨服务调用(分布式场景)的一致性问题。以下是Seata常见问题的一个合集
1176 0
|
消息中间件 Java Kafka
kafka tool下载安装和使用
kafka tool下载安装和使用
3943 0