第1关:启动 MongoDB
任务描述
本关任务:根据编程要求启动 MongoDB 服务。
相关知识
为了完成本关任务,你需要掌握: 1.Linux 端启动 MongoDB 服务; 2.客户端连接数据库。
DOS(Windows)端启动 MongoDB 服务
- 配置环境变量 在
电脑->属性->环境变量->Path
中添加 MongoDB 安装路径(根据自己的安装路径添加),如图 1 所示:
图 1
- 启动服务并进行相关配置;
mongod.exe --bind_ip 127.0.0.1 --logpath D:\MongoDB\dblog\mongodb.log --logappend --dbpath D:\MongoDB\db --port 27017 --service
- bind_ip :绑定服务 IP,绑定127.0.0.1,则只能本机访问,不指定默认本地所有 IP ;
- logpath :配置日志存放的位置;
- logappend :日志使用追加的方式;
- dbpath :配置数据存放的位置;
- port :配置端口号,27017是默认端口;
- service :以服务方式启动,即后台启动。
服务可以按照以上的方式,使用不同的端口、日志文件和数据存放位置启动多个。
Linux 端启动 MongoDB 服务
(平台已经帮你配置好环境,如果是在本地环境练习,请安装并配置好 MongoDB)启动 MongoDB 服务,要准备数据存放位置,日志文件和配置文件。
- 数据存放位置
在 /data 路径下创建文件夹 db_test 来存放 MongoDB 服务的数据。
cd /data #进入data路径
mkdir db_test #创建db文件夹
- 日志文件
在 /logs 路径下创建文件夹 mongo 存放日志文件 mongod.log(文件不用创建,到时候会自动生成,但路径即文件夹必须提前创建好)。
mkdir /logs #创建/logs路径
cd /logs #进入log路径
mkdir mongo #创建mongo文件夹
- 配置文件
在 /etc/mongod(没有路径就创建)路径下新建配置文件 mongod.conf,使用配置文件启动 MongoDB 服务(把命令写入配置文件,以后启动服务就不用再输入一长串的命令,直接启动配置文件即可)。
mongod.conf 内容如图2所示:
图 2
以上工作准备完成,便可以开启服务了,配置文件启动命令如下(在命令行中输入): mongod -f /etc/mongod/mongod.conf
启动客户端
不管是哪种平台,客户端的操作都基本相同。输入命令 mongo --port 27017 连接客户端(MongoDB 默认的连接方式无需输入用户名和密码,port 端口根据你服务启动的端口连接),如图3所示:
图 3
如图出现最后一行的>
符号,说明连接成功。
help 帮助文档
MongoDB 我们刚接触,并不了解怎么使用命令进行操作,这时候就可以用 help 帮助文档了,里面有 MongoDB 的所有操作命令。
-
查看 MongoDB 支持哪些命令:help;
-
查询当前数据库支持的方法:db.help();
-
查询集合支持哪些方法:db.集合名.help()。
更多详细说明,可以查看其文档:
编程要求
根据提示,在右侧命令行(Linux 环境)进行操作:
-
在 /data 路径下创建文件夹 mydb 来存放 MongoDB 服务的数据;
-
在 /logs 路径下创建文件夹 mymongo 存放日志文件 mongod.log;
-
在 /etc/mymongod 路径下新建配置文件 mongod.conf,使用配置文件启动 MongoDB,连接端口号设置为 27020;
-
使用命令通过配置文件启动服务。
测试说明
点击测评后,平台会尝试连接端口为27020的客户端,
连接成功,输出: MongoDB连接成功! 连接失败,输出: MongoDB连接失败~
如果出现图4的错误,请点击图5标识的右侧代码区域相应的“重置命令行”按钮,重置环境即可。
图 4
图 5
开始你的任务吧,祝你成功!
答案:
cd /data
mkdir mydb
mkdir /logs
cd /logs
mkdir mymongo
mkdir /etc/mongo
cd /etc/mongo
vim mongod.conf
//回车 输入 i 进入编辑
port=27020
dbpath=/data/mydb
logpath=/logs/mymongo/mongod.log
logappend=true
fork=true
//esc+ :wq 退出编辑
mongod -f /etc/mongod/mongod.conf
mongo --port 27020
第2关:启动 MongoDB 多实例
任务描述
本关任务:根据第一关单实例(服务)的启动教程,按照编程要求,启动两组实例(服务)。
创建多个实例
在单台服务器资源充分的情况下,可以使用多实例,以便充分使用服务器资源。步骤和第一关相同,再创建一组数据存储目录、日志文件和配置文件,使用不同的端口号连接即可。
相关知识
(略)
编程要求
根据提示,在右侧命令行(Linux 环境)进行操作:
-
在 /data 路径下创建文件夹 mydb1 和 mydb2 来存放两组 MongoDB 服务的数据;
-
在 /logs 路径下创建文件夹 mymongo1 和 mymongo2 存放日志文件;
-
在 /etc/mymongod 路径下新建配置文件 mongod1.conf 和 mongod2.conf,使用配置文件启动 MongoDB,连接端口号分别设置为 27021和27022;
-
使用命令通过配置文件启动两组服务。
测试说明
点击测评后,平台会尝试连接端口为27021和27022的客户端, 连接成功,输出: 27021端口服务启动成功! 27022端口服务启动成功!
连接失败,输出: 27021端口服务启动失败~ 27022端口服务启动失败~
如果出现图1的错误,请点击图2标识的右侧代码区域相应的“重置命令行”按钮,重置环境即可。
图 1
图 2
开始你的任务吧,祝你成功!
答案:
cd /data
mkdir mydb1
mkdir mydb2
mkdir /logs
cd /logs
mkdir mymongo1
mkdir mymongo2
mkdir /etc/mymongod
cd /etc/mymongod
vim mongod1.conf
//回车 输入 i 进入编辑
port=27021
dbpath=/data/mydb1
logpath=/logs/mymongo1/mongod.log
logappend=true
fork=true
//esc+ : +wq 退出编辑
vim mongod2.conf
//回车 输入 i 进入编辑
port=27022
dbpath=/data/mydb2
logpath=/logs/mymongo2/mongod.log
logappend=true
fork=true
//esc+ : +wq 退出编辑
mongod -f /etc/mymongod/mongod1.conf
mongod -f /etc/mymongod/mongod2.conf
第3关:退出客户端和关闭 MongoDB 服务
任务描述
本关任务:关闭端口为27017的 MongoDB 服务。
相关知识
为了完成本关任务,你需要掌握: 1.如何退出客户端; 2.如何关闭 MongoDB 服务。
退出客户端
退出客户端的命令很简单,只需在客户端输入 exit 便可顺利退出,如图1所示:
图 1
关闭 MongoDB 服务
推荐使用方法
- 能连接到客户端时:
use admin #使用系统数据库admin,只有在admin数据库中才可以进行关闭服务的操作
db.shutdownServer() #关闭服务
显示如图2所示,则说明服务已成功关闭;
图 2
- 客户端无法连接时:
有时候数据库服务异常关闭时,我们连不上客户端,就可以使用该方法。
查看 Mongo 相关进程 ps -ef | grep mongo ,如图3所示:
图 3
kill 和 Mongo 的服务进程 kill 26,如图4所示:
图 4
编程要求
根据提示,在右侧命令行(Linux 环境)进行操作:
- 关闭端口为 27017(默认端口)的 MongoDB 服务.
测试说明
点击测评后,平台会尝试连接端口为27017的默认客户端,例如:
关闭服务成功,输出: exception: connect failed 27017端口服务关闭成功!
关闭服务失败,输出: 27017端口服务未关闭~
开始你的任务吧,祝你成功!
答案:
ps -ef | grep mongo
kill 26
//26 更换为下图所示第一行的数字
mongo