简介
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
Packages包说明
MongoDB官方源中包含以下几个依赖包:
- mongodb-org: MongoDB元数据包,安装时自动安装下面四个组件包:
- mongodb-org-server: 包含MongoDB守护进程和相关的配置和初始化脚本。
- mongodb-org-mongos: 包含mongos的守护进程。
- mongodb-org-shell: 包含mongo shell。
- mongodb-org-tools: 包含MongoDB的工具:
- mongoimport
- bsondump
- mongodump
- mongoexport
- mongofiles
- mongooplog
- mongoperf
- mongorestore
- mongostat
- mongotop
安装MongoDB3.4社区版
配置MongoDB的yum源
vim /etc/yum.repos.d/mongodb-org-3.4.repo
添加如下内容:
1 | [mongodb-org-3.4] |
安装MongoDB
yum -y install mongodb-org
配置SELinux
setenforce 0 #不需要重启系统
如果在使用setenforce命令设置selinux状态的时候出现这个提示:setenforce: SELinux is disabled
那么说明selinux已经被彻底的关闭了
如果需要重新开启selinux,请按下面步骤:
vi /etc/selinux/config
更改为:SELINUX=1
必须重启linux,不重启是没办法立刻开启selinux的
启动MongoDB
1 | systemctl start mongod.service |
设置mongodb远程访问
添加用户
进入mongo shell
mongo
创建root用户
1 | db.createUser({user:'root',pwd:'123',roles:[{role:'root',db:'admin'}]}) |
创建管理员用户
1 | db.createUser({user:'admin',pwd:'123',roles:[{role:'userAdminAnyDatabase',db:'admin'}]}) |
配置远程访问,开启鉴权
编辑mongod.conf
vim /etc/mongod.conf
注释bindIp
# bindIp: 127.0.0.1
去掉#security:前的注释并添加一行,如下:
1 | security: |
重启mongodb
systemctl restart mongod.service
登录
mongo shell 服务器登录
mongo yourIP:27017 -u admin -p 123 --authenticationDatabase admin
mongo shell 远程登录
mongo -u admin -p 123 --authenticationDatabase admin
mongoose urlmongodb://admin:123@yourIP:27017/admin?authSource=admin
卸载mongodb
停止mongodb
systemctl stop mongod.service
卸载mongodb
1 | # 删除安装包 |