赞
踩
一、任务描述
本关任务:根据编程要求启动 MongoDB 服务。
二、相关知识
为了完成本关任务,你需要掌握: 1.Linux 端启动 MongoDB 服务; 2.客户端连接数据库。
电脑->属性->环境变量->Path
中添加 MongoDB 安装路径(根据自己的安装路径添加);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 :以服务方式启动,即后台启动。
服务可以按照以上的方式,使用不同的端口、日志文件和数据存放位置启动多个。
(平台已经帮你配置好环境,如果是在本地环境练习,请安装并配置好 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 服务(把命令写入配置文件,以后启动服务就不用再输入一长串的命令,直接启动配置文件即可)。
- cd /etc #进入etc路径
- mkdir mongod #创建mongod文件夹
- cd /etc/mongod #进入/etc/mongod路径
- vim mongod.conf #编辑mongod.conf
进入vim后,键入i开始编辑,mongod.conf 内容:
- port=27018 #配置端口号
- dbpath=/data/db_test #配置数据存放的位置
- logpath=/logs/mongo/mongod.log #配置日志存放的位置
- logappend=true #日志使用追加的方式
- fork=true #设置在后台运行
退出vim指令:Esc——键入::x,保存并退出。
以上工作准备完成,便可以开启服务了,配置文件启动命令如下(在命令行中输入): mongod -f /etc/mongod/mongod.conf
不管是哪种平台,客户端的操作都基本相同。输入命令 mongo --port 27017 连接客户端(MongoDB 默认的连接方式无需输入用户名和密码,port 端口根据你服务启动的端口连接)
mongo --port 27017
如图出现最后一行的>
符号,说明连接成功。
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标识的右侧代码区域相应的“重置命令行”按钮,重置环境即可。
- root@evassh-12161773:~# cd /data
- root@evassh-12161773:/data# mkdir mydb
- root@evassh-12161773:/data# mkdir /logs
- root@evassh-12161773:/data# cd /logs
- root@evassh-12161773:/logs# mkdir mymongo
- root@evassh-12161773:/logs# cd /etc
- root@evassh-12161773:/etc# mkdir /etc/mymongod
- root@evassh-12161773:/etc# cd /etc/mymongod
- root@evassh-12161773:/etc/mymongod# vim mongod.conf
- root@evassh-12161773:/etc/mymongod# mongod -f /etc/mymongod/mongod.conf
mongod.conf内容如下:
- port=27020 #配置端口号
- dbpath=/data/mydb #配置数据存放的位置
- logpath=/logs/mymongo/mongod.log #配置日志存放的位置
- logappend=true #日志使用追加的方式
- fork=true #设置在后台运行
一、任务描述
本关任务:根据第一关单实例(服务)的启动教程,按照编程要求,启动两组实例(服务)。
在单台服务器资源充分的情况下,可以使用多实例,以便充分使用服务器资源。步骤和第一关相同,再创建一组数据存储目录、日志文件和配置文件,使用不同的端口号连接即可。
根据提示,在右侧命令行(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标识的右侧代码区域相应的“重置命令行”按钮,重置环境即可。
- root@evassh-12161773:~# cd /data
- root@evassh-12161773:/data# mkdir mydb1
- root@evassh-12161773:/data# mkdir mydb2
- root@evassh-12161773:/data# mkdir logs
- root@evassh-12161773:/data# cd /logs
- root@evassh-12161773:/logs# mkdir mymongo1
- root@evassh-12161773:/logs# mkdir mymongo2
- root@evassh-12161773:/logs# cd /etc
- root@evassh-12161773:/etc# mkdir /etc/mymongod
- mkdir: cannot create directory ‘/etc/mymongod’: File exists
- root@evassh-12161773:/etc# cd /etc/mymongod
- root@evassh-12161773:/etc/mymongod# vim mymongod1.conf
- root@evassh-12161773:/etc/mymongod# vim mymongod2.conf
- root@evassh-12161773:/etc/mymongod# mongod -f /etc/mymongod/mymongod1.conf
- 2022-09-23T01:14:58.729+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
- about to fork child process, waiting until server is ready for connections.
- forked process: 167
- child process started successfully, parent exiting
- root@evassh-12161773:/etc/mymongod# mongod -f /etc/mymongod/mymongod2.conf
- 2022-09-23T01:15:07.309+0000 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
- about to fork child process, waiting until server is ready for connections.
- forked process: 195
- child process started successfully, parent exiting
mongod1.conf内容如下,mongod2与之类似。
- port=27021
- dbpath=/data/mydb1
- logpath=/logs/mymongo1/mymongod1.log
- logappend=true
- fork=true
一、任务描述
本关任务:关闭端口为27017的 MongoDB 服务。
二、相关知识
为了完成本关任务,你需要掌握: 1.如何退出客户端; 2.如何关闭 MongoDB 服务。
退出客户端的命令很简单,只需在客户端输入 exit 便可顺利退出,如
推荐使用方法
能连接到客户端时:
- use admin #使用系统数据库admin,只有在admin数据库中才可以进行关闭服务的操作
- db.shutdownServer() #关闭服务
显示如图所示,则说明服务已成功关闭;
客户端无法连接时:
有时候数据库服务异常关闭时,我们连不上客户端,就可以使用该方法。
查看 Mongo 相关进程 ps -ef | grep mongo
kill 和 Mongo 的服务进程 kill 26
根据提示,在右侧命令行(Linux 环境)进行操作:
测试说明
点击测评后,平台会尝试连接端口为27017的默认客户端,例如:
关闭服务成功,输出: exception: connect failed 27017端口服务关闭成功!
关闭服务失败,输出: 27017端口服务未关闭~
- root@evassh-12161773:~# mongo --port 27017
- MongoDB shell version v4.0.0
- connecting to: mongodb://127.0.0.1:27017/
- MongoDB server version: 4.0.0
- Welcome to the MongoDB shell.
- For interactive help, type "help".
- For more comprehensive documentation, see
- http://docs.mongodb.org/
- Questions? Try the support group
- http://groups.google.com/group/mongodb-user
- Server has startup warnings:
- 2022-09-23T00:53:10.044+0000 I STORAGE [initandlisten]
- 2022-09-23T00:53:10.044+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
- 2022-09-23T00:53:10.044+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten]
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten]
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning.
- 2022-09-23T00:53:10.751+0000 I CONTROL [initandlisten]
- 2022-09-23T00:53:10.752+0000 I CONTROL [initandlisten]
- 2022-09-23T00:53:10.752+0000 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
- 2022-09-23T00:53:10.752+0000 I CONTROL [initandlisten] ** We suggest setting it to 'never'
- 2022-09-23T00:53:10.752+0000 I CONTROL [initandlisten]
- ---
- Enable MongoDB's free cloud-based monitoring service to collect and display
- metrics about your deployment (disk utilization, CPU, operation statistics,
- etc).
- The monitoring data will be available on a MongoDB website with a unique
- URL created for you. Anyone you share the URL with will also be able to
- view this page. MongoDB may use this information to make product
- improvements and to suggest MongoDB products and deployment options to you.
- To enable free monitoring, run the following command:
- db.enableFreeMonitoring()
- ---
- > use admin
- switched to db admin
- > db.shutdownServer()
- server should be down...
- 2022-09-23T01:22:34.739+0000 I NETWORK [js] trying reconnect to 127.0.0.1:27017 failed
- 2022-09-23T01:22:34.739+0000 I NETWORK [js] reconnect 127.0.0.1:27017 failed failed
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。