推荐的 MongoDB 安装文档
简介:
MongoDB 是一个由 C++ 语言编写的基于分布式文件存储的数据库,是目前最像关系型数据库的非关系型数据库。
最近写爬虫, 思来想去觉得还是用 MongoDB 比较方便。
一、安装
# 官方文档:https://docs.mongodb.com/manual/administration/install-community/
1、添加 YUM 源
shell > vim /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=
enabled=
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
2、直接安装就好了
shell > yum -y install mongodb-org or shell > yum -y install mongodb-org-3.6. mongodb-org-server-3.6. mongodb-org-shell-3.6. mongodb-org-mongos-3.6. mongodb-org-tools-3.6.
# 这里遇到个小问题, 记录一下
# https://repo.mongodb.org/yum/redhat/6/mongodb-org/3.6/x86_64/repodata/repomd.xml: [Errno 14] problem making ssl connection
# Cannot retrieve repository metadata (repomd.xml) for repository: mongodb-org-3.6. Please verify its path and try again
# yum 报错, 网上说把该 .repo 的 enabled 设为 0, 然后执行 yum -y install ca-certificates, 之后再设为 1, 就可以安装了
# 我这里试了没成功, 后来把 .repo 中的 https 改为 http 就可以了
二、配置
shell > grep -vP '^#|^$' /etc/mongod.conf
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
storage:
dbPath: /data/mongo_data
journal:
enabled: true
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
net:
port:
bindIp: 0.0.0.0 # Listen to local interface only, comment to listen on all interfaces. # 修改了 dbPath、port、bindIp shell > mkdir /data/mongo_data && chown -R mongod.mongod /data/mongo_data
# 数据目录不创建, 无法启动
三、启动
shell > /etc/init.d/mongod start
shell > chkconfig --level mongod on
四、客户端连接
shell > mongo --port
# 这里会看到一些警告信息, 照着改一改就好了
shell > echo never > /sys/kernel/mm/transparent_hugepage/defrag
shell > echo never > /sys/kernel/mm/transparent_hugepage/enabled
# 关闭透明大页, 记得加入 /etc/rc.local
shell > vim /etc/security/limits.conf
* - nproc
* - nofile
# 进程数、文件描述符, ulimit -u 64000、ulimit -n 64000 (好像还不行...)
# 官方文档:https://docs.mongodb.com/manual/reference/ulimit/#recommended-settings
五、安全
# 认证类型:https://docs.mongodb.com/manual/security/
# 配置管理:https://docs.mongodb.com/manual/reference/configuration-options/
(我)选择(的是)基于角色的访问控制
# 相关文档:https://docs.mongodb.com/manual/core/authorization/
1、创建用户、分配角色
# 相关文档:https://docs.mongodb.com/manual/reference/method/
# 默认角色:https://docs.mongodb.com/manual/core/security-built-in-roles/
shell > db.createUser({"user": "root", "pwd": "73osZMb", "roles": [{"role": "root", "db": "admin"}]})
Successfully added user: {
"user" : "root",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}
# 这样就创建一个用户为 root、密码、角色为 root (超级用户)、授权 db 为 admin。
# 关于系统有哪些角色、每种角色的功能, 还需参考上面提供的官方文档
2、开启授权
shell > vim /etc/mongod.conf security:
authorization: enabled
# 开启授权, /etc/init.d/mongod restart
3、验证
shell > mongo --port
MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27007/
MongoDB server version: 3.6.
> show dbs
--11T15::35.653+ E QUERY [thread1] Error: listDatabases failed:{
"ok" : ,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0, $db: \"admin\" }",
"code" : ,
"codeName" : "Unauthorized"
} :
_getErrorWithCode@src/mongo/shell/utils.js::
Mongo.prototype.getDBs@src/mongo/shell/mongo.js::
shellHelper.show@src/mongo/shell/utils.js::
shellHelper@src/mongo/shell/utils.js::
@(shellhelp2):: # 提示认证失败 > use admin
switched to db admin
> db.auth("root", "73osZMb") > show dbs
admin .000GB
config .000GB
local .000GB # 尝试 root 角色权限 > use spider
> db.sp_douban.insertOne({"id": , "name": "警察故事"})
{
"acknowledged" : true,
"insertedId" : ObjectId("5af5450510d201ef1d48d3a4")
}
> db.sp_douban.findOne()
{ "_id" : ObjectId("5af5450510d201ef1d48d3a4"), "id" : , "name" : "警察故事" }
> db.sp_douban.deleteOne({"id": })
{ "acknowledged" : true, "deletedCount" : }
> db.sp_douban.find()
# 可以开到该用户可以创建数据库、创建表、插入、查询、删除
# 好, 先这样, 搞爬虫去!
推荐的 MongoDB 安装文档的更多相关文章
- Oracle 11g 单实例安装文档
这里介绍在Red Hat Enterprise Linux Server release 5.7 (Tikanga)下安装ORACLE 11.2.0.1.0的过程,本文仅仅是为了写这样安装指导文档而整 ...
- 推荐一套.NET文档处理组件Spire.Office
原文:推荐一套.NET文档处理组件Spire.Office 以前的项目中用到一点Word简单处理的功能(文字替换和转PDF格式),当时使用的是一套COM组件,必须在服务器上安装office环境.最近考 ...
- Oracle 12c RAC 安装文档
参考文档: https://docs.oracle.com/en/database/oracle/oracle-database/12.2/cwlin/index.html https://docs. ...
- Greenplum/Deepgreen(集群/分布式)安装文档
Deepgreen分布式安装文档 环境准备 1.安装VMware虚拟机软件,然后在VMware安装三台Linux虚拟机(使用centos7版本) 2.使用的虚拟机如下: 192.168.136.155 ...
- 环境安装文档(for Ubuntu)
这个文档的目标是:各位小伙伴通过这个文档,可以在一台全新的 Ubuntu 电脑上搭建平常开发使用的环境,主要包含 Node.js, git 和 编辑器部分. 这是针对 Ubuntu 系统的安装文档,W ...
- Mysql5.7.20安装文档
Mysql5.7.20安装文档 一.Linxu下数据库的恢复和备份 当我们MySQL数据库保存重要数据的时候,备份工作极为重要.本文介绍如何使用mysqldump备份和恢复数据,使用该方法,可以将数据 ...
- airflow2.0.2分布式安装文档
需要安装的组件 组件 功能 Airflow Webserver 查询元数据以监控和执行DAGs的web界面. Airflow Scheduler 它检查元数据数据库中的DAG和任务的状态,在必要时创建 ...
- ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档
ORACLE LINUX 6.3 + ORACLE 11.2.0.3 RAC + VBOX安装文档 2015-10-21 12:51 525人阅读 评论(0) 收藏 举报 分类: Oracle RA ...
- linkedin开源的kafka-monitor安装文档
linkedin开源的kafka-monitor安装文档 linkedin 开源的kafka-monitor的安装使用可以参考官方的readme:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...
随机推荐
- EditorConfig知识点
.editorconfig 该文件定义项目的编码规范,编辑器的行为会与.editorconfig 文件中定义的一致,并且其优先级比编辑器自身的设置要高,这在多人合作开发项目时十分有用而且必要. 在哪里 ...
- 服务检测sh脚本
如mysql cat check_mysql.sh #!/bin/bash servicename="mysqld"showname="mysql" pid=& ...
- FineUI导出Excel
1.[经验分享]导出Excel的乱码问题http://www.fineui.com/bbs/forum.php?mod=viewthread&tid=6326&highlight=Ex ...
- oracle schema 白话文详解
概述: (一)什么Oracle叫用户(user): A user is a name defined in the database that can connect to and access ob ...
- 实际用户ID和有效用户ID (一) *****
在Unix进程中涉及多个用户ID和用户组ID,包括如下: 1.实际用户ID和实际用户组ID:标识我是谁.也就是登录用户的uid和gid,比如我的Linux以simon登录,在Linux运行的所有的命令 ...
- android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结
总结: 1.webview 无法直接更改view的属性,可以通过 handler实现,因为跨线程 2.webview可以通过js api读取 view的属性值 代码: private Handler ...
- Java中对话框的弹出
最近在做学校的课程设计,java编程需要用到对话框弹出,第一反应是js中的alert和confirm,java的话瞬间懵,查阅学习总结如下,用以以后的学习 1.显示一个错误对话框,该对话框显示的 me ...
- bzoj3503 和谐矩阵
Description 我们称一个由0和1组成的矩阵是和谐的,当且仅当每个元素都有偶数个相邻的1.一个元素相邻的元素包括它本身,及他上下左右的4个元素(如果存在).给定矩阵的行数和列数,请计算并输出一 ...
- 新手搭建 nginx + php (LNMP)
配置源 纯净的Centos 6.5系统 配置163yum源 (这个比较简单,百度能解决很多问题) 开始 安装 开发软件包:yum -y groupinstall "Developmen ...
- ORA:01745 无效的主机 绑定变量名
原因是:mybatis中的mapping映射时,sql语句中忘了加逗号,且逗号处有换行