简介:
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,and mongotop。
安装MongoDB3.4社区版
配置MongoDB的yum源
vim /etc/yum.repos.d/mongodb-org-3.4.repo
添加以下内容:
[mongodb-org-3.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
安装MongoDB
[root@metis ~]# yum -y install mongodb-org
启动MongoDB
配置SELinux
方法一:
如果SELinux开启enforcing模式:
semanage port -a -t mongod_port_t -p tcp 27017
方法二:
vim /etc/selinux/config
SELINUX=disabled
或者
SELINUX=permissive
方法三(setenforce):
[root@metis ~]# setenforce 0 #不需要重启系统
启动MongoDB
# systemctl start mongod.service
配置防火把27017端口号加到例外:
# firewall-cmd --permanent --add-port=27017/tcp
success
# firewall-cmd --reload
success
# systemctl restart firewalld.service
设置开机启动
[root@metis ~]# systemctl enable mongod.service
启动Mongo shell
[root@metis ~] mongo
设置mongodb远程访问:
编辑mongod.conf注释bindIp,并重启mongodb。
[root@metis ~]# vim /etc/mongod.conf
或者bindIp改为 0.0.0.0 然后重启
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0 # Listen to local interface only,comment to listen on all interfaces.
[root@metis ~]# systemctl restart mongod.service
停止mongodb
[root@metis ~]# systemctl stop mongod.service
卸载mongodb
# 删除安装包
[root@metis ~]# yum erase $(rpm -qa | grep mongodb-org)
#删除数据目录
[root@metis ~]# rm -r /var/log/mongodb
[root@metis ~]# rm -r /var/lib/mongo