ubuntu 16.04 安装以及配置 MongoDB

本文详细介绍了在Ubuntu上安装MongoDB的过程,包括导入公钥、创建列表文件、更新包管理器、安装指定版本的MongoDB等步骤。此外,还提供了配置教程,如允许外部访问、更改端口、开启用户认证等,以及基本操作和用户创建流程。

参考链接:https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/#install-mongodb-community-edition

可以参考官网提示的信息。

安装

1. import 一个 共有Key 到 package 管理系统:

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

2.为 MongoDB 创建一个list 文件

echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

3.update  一下 apt-get

sudo apt-get update

4.安装 MongoDB

sudo apt-get install -y mongodb-org

安装指定版本的MongoDB

sudo apt-get install -y mongodb-org=4.0.3 mongodb-org-server=4.0.3 mongodb-org-shell=4.0.3 mongodb-org-mongos=4.0.3 mongodb-org-tools=4.0.3

 

基本操作

sudo service mongod start
sudo service mongod stop
sudo service mongod restart

 

配置

 

参考链接:https://docs.mongodb.com/manual/tutorial/enable-authentication/

1.允许外部访问以及改变端口

sudo vim /etc/mongod.conf
# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
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 # 改为0.0.0.0 允许外部访问


# how the process runs
processManagement:
  timeZoneInfo: /usr/share/zoneinfo

security:
  authorization: enabled  # 开启用户认证
#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

2.重启MongoDB 

sudo service mongod restart

3.连接本地MongoDB

mongo --host 127.0.0.1:27017

4.创建第一个admin用户

use admin
db.createUser(
  {
    user: "myUserAdmin",
    pwd: "abc123",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

5.连接数据库

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

6.如果连接完数据库后 insert

db.foo.insert( { x: 1, y: 1 } )

有如下 error 

not authorized on test to execute command

7.你需要设置一下用户认证

db.auth("myUserAdmin", "abc123" )

8.之后你可以insert 一下测试MongoDB是否成功

db.foo.insert( { x: 1, y: 1 } )

9.返回结果如果是这样的说明配置正确

WriteResult({ "nInserted" : 1 })

10.配置其他用户

use test
db.createUser(
  {
    user: "myTester",
    pwd: "xyz123",
    roles: [ { role: "readWrite", db: "test" },
             { role: "read", db: "reporting" } ]
  }
)

 

卸载

sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值