赞
踩
MongoDB 提供的包只支持 64 位长期支持版本的 Ubuntu 发行版。比如 Ubuntu 12.04 LTS (precise), 14.04 LTS (trusty), 16.04 LTS (xenial) 等等。这些包可能在其他发行版上也能工作,但是并未被支持。
1.1 导入包管理系统使用的公钥
Ubuntu 的软件包管理工具(即dpkg和APT)要求软件包的发布者通过GPG密钥签名来确保软件包的一致性和真实性。通过以下命令导入MongoDB公共GPG密钥:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
根据 Ubuntu 的版本使用适当的命令创建 list file: /etc/apt/sources.list.d/mongodb-org-3.4.list
为 MongoDB 创建 list file
Ubuntu 12.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu precise/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 14.04
echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
Ubuntu 16.04
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
1.2. 重新下载本地包数据库索引
sudo apt-get update
1.3. 通过以下命令安装最新的可靠版安装 MongoDB
sudo apt-get install -y mongodb-org
默认情况下, MongoDB 实例的数据文件位于 /var/lib/mongodb
,日志文件位于 /var/log/mongodb
,并且通过用户 mongodb 来运行。你可以在配置文件 /etc/mongod.conf
指定不同的日志文件和数据文件目录,其对应的配置为:systemLog.path
和 storage.dbPath
。配置中的net.bindIp 默认是127.0.0.1,这样只能本地连接,可以指定成服务器的对外IP或者干脆设置为0.0.0.0。
如果你更改了运行 MongoDB 进程的用户,必须修改 /var/lib/mongodb
和 /var/log/mongodb
的访问权限来让用户能访问这些目录。
2.1 启动 MongoDB
按照官方文档,执行如下命令可以启动 mongod
进程
- sudo service mongod start
- # 或者
- sudo systemctl start mongod
实际上我操作过程中是没有成功使用以上命令启动成功的,我是通过手动添加系统服务来实现服务的启动的。
步骤如下:
chmod 775 mongodb
- #!/bin/bash
- ### BEGIN INIT INFO
- # Provides: mongod
- # Required-Start: $remote_fs $syslog
- # Required-Stop: $remote_fs $syslog
- # Default-Start: 2 3 4 5
- # Default-Stop: 0 1 6
- # Short-Description: Start mongod at boot time
- # Description: Enable service provided by mongod.
- ### END INIT INFO
-
- start()
- {
- /usr/bin/mongod --config /etc/mongod.conf &
- exit 0;
- }
-
- stop()
- {
- /usr/bin/mongod --config /etc/mongod.conf --shutdown
- }
-
- case "$1" in
- start)
- start
- ;;
-
- stop)
- stop
- ;;
-
- restart)
- stop
- start
- ;;
-
- *)
- echo "Usage: $0 {start|stop|restart}"
- exit 0
- ;;
-
- esac
- exit 0

- // 添加到系统启动
- update-rc.d mongodb defaults
- // 从系统启动中删除
- update-rc.d mongodb remove
- service mongodb start
- service mongodb stop
注意:
MongoDB默认是没有设置鉴权的,业界大部分使用MongoDB的项目也没有设置访问权限。这就意味着只要知道MongoDB服务器的端口,任何能访问到这台服务器的人都可以查询和操作MongoDB数据库的内容。在一些项目当中,这种使用方式会被看成是一种安全漏洞。
3.1. 第一次进入mongodb
可以使用MongoDB shell 来连接 MongoDB 服务器。
标准 URI 连接语法:
- mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
-
- mongodb:// 这是固定的格式,必须要指定。
- username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
- host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
- portX 可选的指定端口,如果不填,默认为27017
- /database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开admin数据库。
- ?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
使用shell的方式连接:
- $ mongo
- MongoDB shell version v3.4.2
- connecting to: mongodb://127.0.0.1:27017
- MongoDB server version: 3.4.2
- Server has startup warnings:
- 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten]
- 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
- 2016-08-31T22:13:06.344+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
- 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten]
- 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
- 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
- 2016-08-31T22:13:06.571+0800 I CONTROL [initandlisten]
- > show databases;show databases; #查看数据库
- admin 0.000GB
- local 0.000GB
- >use admin #切换数据库
- >switched to db admin

如下这种方式也可以
-
- $ mongo mongodb://127.0.0.1:27017
- MongoDB shell version v3.4.2
- connecting to: mongodb://127.0.0.1:27017
- MongoDB server version: 3.4.2
- Server has startup warnings:
- 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten]
- 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
- 2016-09-02T21:07:29.630+0800 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
- 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten]
- 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
- 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
- 2016-09-02T21:07:29.978+0800 I CONTROL [initandlisten]
- >
开启MongoDB的web界面访问
MongoDB自带一个微型的web管理信息界面,需要修改/etc/mongod.conf中的一个配置项:
- net:
- port: 27017
- bindIp: 10.0.90.24
- http:
- enabled: true #设置为true
- RESTInterfaceEnabled: false #设置为false
注:如果bindIp为127.0.0.1,只能在本机使用curl查看,无法
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。