下载地址: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://<username>:<password>@<ip>:<port>/<database>

# 例如:
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安装和配置详解
  3. mongodb错误解决办法-bash: ./mongod: cannot execute binary file