??
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
??
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
它的特点是高性能、易部署、易使用,存储数据非常方便。主要功能特性有:
- 面向集合存储,易存储对象类型的数据。
- 模式自由、支持查询、支持动态查询。
- 支持完全索引,包含内部对象。
- 支持复制和故障恢复。
- 使用高效的二进制数据存储,包括大型对象(如视频等)。
- 自动处理碎片,以支持云计算层次的扩展性。
- 支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
- 文件存储格式为BSON(一种JSON的扩展)。
- 可通过网络访问。
?
- 安装配置
- 下载安装包,解压安装
- 安装包地址:https://www.mongodb.com/downloads
# yum install openssl-devel -y # tar zxvf mongodb-linux-x86_64-rhel70-4.0.0.tgz -C /opt # mv /opt/mongodb-linux-x86_64-rhel70-4.0.0/ /usr/local/mongodb/
- 创建MongoDB的数据存储目录、日志目录、日志文件
# mkdir -p /data/mongodb1 # mkdir -p /data/logs/mongodb # touch /data/logs/mongodb/mongodb1.log # chmod -R 777 /data/logs/mongodb/mongodb1.log
- 当MongoDB处于频繁访问的状态,如果shell启动进程所占的资源设置过低,将会产生错误导致无法连接,需要设置ulimit -n 和ulimit -u 的值大于20000.
# ulimit -n 25000 # ulimit -u 25000
- 创建MongoDB 的配置文件和启动参数
# cd /usr/local/mongodb/bin/ # vim mongodb1.conf port=27017 //默认服务器端口号 dbpath=/data/mongodb1 //数据存储目录 logpath=/data/logs/mongodb/mongodb1.log //日志文件 logappend=true //使用追加方式写日志 fork=true //后台运行 maxConns=5000 //最大同时连接数 storageEngine=mmapv1 //指定存储引擎为内存映射文件
- 设置内核参数、
- 当某个节点可用内存不足时,系统会从其他节点分配内存
# echo 0 > /proc/sys/vm/zone_reclaim_mode # sysctl -w vm.zone_reclaim_mode=0 //永久设置 # echo never > /sys/kernel/mm/transparent_hugepage/enabled # echo never > /sys/kernel/mm/transparent_hugepage/defrag
- 启动和停止MongoDB
- 启动
# /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb1.conf # netstat -antp | grep mongod //查看进程
- 停止
# /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb1.conf --shutdow
- 配置开机自启动
- 添加环境变量(直接使用mongod)
# vim /etc/rc.local rm -rf /data/mongodb1/mongodb.lock /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb1.conf # echo ‘export PATH=/usr/local/mongodb/bin:$PATH‘ >> /etc/profile # source /etc/profile
?
? - 进入数据库
# mongo
?
?
原文地址:http://blog.51cto.com/13630803/2141323
时间: 2024-11-06 07:35:30