推荐的 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:流程介绍的已经比较清楚,但是还是有一些地方需要修正.让 ...
随机推荐
- linux日志分析
转一位大神的笔记. 日志管理: 1.基于服务的 2.基于时间的 /var/log/wtmp,/var/run/utmp,/var/log/lastlog(lastlog),/var/log/btmp( ...
- yum运行时提示被锁住了解决办法
1.当大家用linux的yum时,是不是经常会遇到下面的情况Loaded plugins: fastestmirrorExisting lock /var/run/yum.pid: another c ...
- Tomcat 8 中的startup.bat
1. bat文件 批处理文件,在DOS和Windows(任意版本)的系统中,bat文件是可执行文件 2. startup.bat 中涉及的bat语法 2.1 @. echo. echo off @ec ...
- JSP 执行流程
一.jsp执行流程 1. 发送请求 ,请求访问jsp文件. 2. 服务器(Tomcat)提供的jsp parser 解析器解将jsp转化为java文件. jsp本质上是一个servlet. 3.ser ...
- TroubleShoot: Enable Developer Mode in Windows 10 Insider Preview Build 10074
There is a known issue in Windows 10 Insider Preview build 10074 (see here). Developers cannot enabl ...
- python学习笔记--pycurl模块安装遇到的问题。
1.用easy_install安装的时候 [root@idayuan ~]# easy_install pycurl Searching for pycurl Best match: pycurl A ...
- python selenium-7自动发送邮件
https://jingyan.baidu.com/article/647f0115b78f8d7f2148a8e8.html 1.发送HTML格式的邮件 import smtplib from em ...
- PHP实现微信申请退款(证书权限必须设为可执行)
前期准备: 当然是搞定了微信支付,不然怎么退款,这次还是使用官方的demo.当然网上可能也有很多大神自己重写和封装了demo,或许更加好用简洁,但是我还是不提倡用,原因如下: (1)可能功能不全,或许 ...
- 最小化Linux系统安装
安装CentOS 5.9 基于vbox虚拟机,虚拟机内存1 G,虚拟硬盘大小8 G 虚拟网卡使用host only方式 创建卷组centos 独立的boot分区 home, root和swap分区皆是 ...
- javascript创建对象之函数构造模式和原型模式结合使用(四)
创建自定义类型的常见方式就是组合使用构造函数模式与原型模式一起使用. 构造函数模式用于定义实例对象的特有的部分(属性和方法),原型模式用于定义共享的部分. 这样最大限度的节省了内存的开销. funct ...