简介
MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是可以应用于各种规模的企业、各个行业以及各类应用程序的开源数据库。作为一个适用于敏捷开发的数据库,MongoDB的数据模式可以随着应用程序的发展而灵活地更新。与此同时,它也为开发人员 提供了传统数据库的功能:二级索引,完整的查询系统以及严格一致性等等。 MongoDB能够使企业更加具有敏捷性和可扩展性,各种规模的企业都可以通过使用MongoDB来创建新的应用,提高与客户之间的工作效率,加快产品上市时间,以及降低企业成本。
MongoDB是专为可扩展性,高性能和高可用性而设计的数据库。它可以从单服务器部署扩展到大型、复杂的多数据中心架构。利用内存计算的优势,MongoDB能够提供高性能的数据读写操作。 MongoDB的本地复制和自动故障转移功能使您的应用程序具有企业级的可靠性和操作灵活性。
安装
平台安装
MongoDB 提供了 OSX 平台上 64 位的安装包,你可以在官网下载安装包:https://www.mongodb.com/download-center/community。
接下来我们使用 curl 命令来下载安装:
代码语言:javascript复制# 进入 /usr/local
cd /usr/local
# 下载
sudo curl -O https://fastdl.mongodb.org/osx/mongodb-osx-x86_64-4.0.5.tgz
# 解压
sudo tar -zxvf mongodb-osx-x86_64-4.0.5.tgz
# 重命名为 mongodb 目录
sudo mv mongodb-osx-x86_64-4.0.5 mongodb
安装完成后,我们可以把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中。
代码语言:javascript复制export PATH=/usr/local/mongodb/bin:$PATH
brew 安装
使用 OSX 的 brew 来安装 mongodb的命令如下:
代码语言:javascript复制sudo brew install mongodb
要安装支持 TLS/SSL 命令如下:
代码语言:javascript复制sudo brew install mongodb --with-openssl
如果要安装开发版本,可以使用下面的命令:
代码语言:javascript复制sudo brew install mongodb --devel
然后,使用命令mongod --version来查看mongo DB是否安装成功。
运行
首先,我们创建一个数据库存储目录 /data/db。
代码语言:javascript复制sudo mkdir -p /data/db
启动 mongodb,默认数据库目录即为 /data/db。
代码语言:javascript复制sudo mongod
# 如果没有创建全局路径 PATH,需要进入以下目录
cd /usr/local/mongodb/bin
sudo ./mongod
如果启动成功,可以看到如下的日志输出。
访问MongoDB
更多参考请访问:The mongo Shell 如果Mongo 启动成功,打开浏览器输入 localhost:27017 ,如果出现以下结果则证明开启成功。
再打开一个终端,并执行 mongo 命令:
代码语言:javascript复制mongo
然后,执行一个1 1操作。例如:
MongoDB工具
WebStorm 绑定 MongoDB
打开WebStrom的插件安装页面,搜索 mongo 即可找到 Mongo Plugin,然后安装。
安装完成后需要配置 MongoDB 的安装目录到 WebStorm 中,输入如下命令:
代码语言:javascript复制which mongo
将返回结果复制到下面的框中点击 Test 。
Robo 3T
mongodb有很多好用的可视化工具,Robo 3T就是这么一款免费的可视化工具,下载地址为:https://robomongo.org/download。
当然,还有个收费版本Studio 3T。
常用参数
mongod 是MongoDB系统的主要守护进程,用于处理数据请求,数据访问和执行后台管理操作,必须启动,才能访问MongoDB数据库。 在启动mongod时,常用的参数是:
- –dbpath <db_path>:存储MongoDB数据文件的目录
- –directoryperdb:指定每个数据库单独存储在一个目录中(directory),该目录位于–dbpath指定的目录下,每一个子目录都对应一个数据库名字。Uses a separate directory to store data for each database. The directories are under the --dbpath directory, and each subdirectory name corresponds to the database name.
- –logpath <log_path>:指定mongod记录日志的文件
- –fork:以后台deamon形式运行服务
- –journal:开始日志功能,通过保存操作日志来降低单机故障的恢复时间
- –config(或-f)<config_file_path>:配置文件,用于指定runtime options
- –bind_ip :指定对外服务的绑定IP地址
- –port :对外服务窗口
- –auth:启用验证,验证用户权限控制
- –syncdelay:系统刷新disk的时间,单位是second,默认是60s
- –replSet :以副本集方式启动mongod,副本集的标识是setname
mongo 是一个交互式的js shell,提供了一个强大的js 环境,为DBA管理MongoDB,developer查询MongoDB数据提供接口。通过mongo shell和MongoDB进行交互,查询和修改MongoDB数据库,管理MongoDB数据库,维护MongoDB的副本集和分片集群,是一个非常强大的工具。 在启动mongo shell时,常用的参数有:
- –nodb: 阻止mongo在启动时连接到数据库实例;
- –port :指定mongo连接到mongod监听的TCP端口,默认的端口值是27017;
- –host :指定mongod运行的server,如果没有指定该参数,那么mongo尝试连接运行在本地(localhost)的mongod实例;
- db address:指定mongo连接的数据库;
- –username/-u 和 --password/-p :指定访问MongoDB数据库的账户和密码,只有当认证通过后,用户才能访问数据库;
- –authenticationDatabase :指定创建User的数据库,在哪个数据库中创建User时,该数据库就是User的Authentication Database;
MongoDB启动方式
以命令方式启动,默认的dbpath是/usr/local/bin/mongo。
代码语言:javascript复制mongod --dbpath=/usr/local/bin/mongo
当然,我们还可以将mongod的命令参数写入配置文档,然后以配置文档的方式启动,启动时如果需要参数可以使用参数-f 。
代码语言:javascript复制mongod --dbpath=/usr/local/bin/mongo_config.config
当启动MongoDB的进程关闭后,MongoDB随之关闭,只需要使用–fork参数,就能使MongoDB以后台守护进程方式启动。
代码语言:javascript复制mongod -fork