1 MongoDB简介
由 C++ 语言编写, 基于分布式文件存储, 使用内存映射存储引擎, 可扩展的高性能, 开源, 模式自由, 面向文档的NoSQL, 集 Key-Value存储 和 RDBMS系统 两者优势; 适合存储对象及JSON数据, 不支持SQL语句, 不支持事务; 在NoSQL领域(非RDBMS)里排名第一.
1.1/mongo文档
* http://www.mongodb.org/downloads # mongo官网下载 * https://docs.mongodb.com/getting-started/shell/installation/ # MongoDB安装文档 * http://dochub.mongodb.org/core/startingandstoppingmongo # mongo流程管理 * https://docs.mongodb.com # MongoDB官方文档 * http://www.mongoing.com # MongoDB中文社区 For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user
2 MongoDB安装启动
2.1/查看是否安装
$ mongo --version # 查看版本 $ mongod --help # 查看服务端参数和启动选项 $ mongo --help # 查看客户端帮助和启动选项 注意: 使用MongoDB,需要先启动服务端,再使用客户端连接数据库。
2.2/安装MongoDB
$ sudo apt-get install mongodb # Ubuntu安装MongoDB $ sudo apt install mongodb-server # 安装服务端 $ sudo apt install mongodb-server-core $ sudo apt install mongodb-clients # 安装客户端
2.3/默认设置
可执行文件存放路径:/usr/bin/mongod 和 /usr/bin/mongo 配置文件存放路径:/etc/mongodb.conf 包文件存放路径: /var/lib/mongodb, 默认端口27017 日志文件存放路径:/var/log/mongodb/mongodb.log 数据库文件存放路径:/data/db # 默认存储数据目录, 需要事先创建 $ sudo mkdir -p /data/db --> sudo chmod 777 /data/db
2.4/启动服务
# 服务端 $ sudo mongod [options] # 启动MongoDB服务端, 默认IP为 127.0.0.1, 默认端口为 27017, 默认配置文件为/etc/mongodb.cnf, 默认存储数据目录为 /data/db, 默认日志文件为 /var/log/mongodb/mongod.log --bind_ip 127.0.0.1 # 指定IP --dbpath=/data/db # 指定数据存储目录(目录必须存在,且有读写权限) -f /etc/mongodb.conf # 指定配置文件启动, 同--config <configpath> # 客户端 $ sudo mongo # 启动客户端, 进入shell, 用来对MongoDB进行操作和管理的交互式环境。 > exit (或Ctrl+C) # 终端退出连接
2.4/1守护进程启动
$ sudo mongod --fork --logpath=/var/log/mongodb/mongodb.log # 后台启动; 用--fork参数, 必须启用--logpath参数来指定log文件, 强制性! 注意: 使用--fork在后台运行mongdb服务,要通过本机admin数据库向服务器发送shutdownServer()消息 来关闭服务端。 $ mongo --> use admin --> db.shutdownServer() # 关闭
2.4/2用户认证启动
$ sudo mongod --auth # 用户认证方式启动 (可在配置文件mongod.conf中加入auth = true) $ sudo mongod --auth --fork --logpath=/var/log/mongodb/mongodb.log # 用户认证,后台启动 注意: 创建用户, 最高权限root, 管理员userAdmin, $ mongo --> use admin --> db.createUser({user: "root", pwd: "admin", roles: ["root"]}) # 创建拥有root权限的超级用户,拥有所有数据库的所有权限 > db.createUser({user: "zhuoyi", pwd: "mongo", roles: ['userAdmin']}) # 创建用户管理员 > db.auth("root", "admin") # 认证登陆到root用户
2.4/3用户操作
> db.createUser({user: "other", pwd: "qita", roles:[{role:"read", db:"demo"}, {role:"readWrite", db:"test"}]}) # 创建其他用户, read只读, readWrite读写 > db.auth('other', 'qita') # 认证登陆到other用户 > show users # 查看当前数据库下认证登录的用户信息 > use admin --> db.system.users.find() # 查看mongo下所有的用户信息. > db.dropUser('other') # 删除other账户 > exit # 退出 * http://www.mongoing.com/docs/tutorial/enable-authentication.html # 验证文档