MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库
mysql和mongodb区别
mysql: 关系型数据库。
在不同的引擎上有不同 的存储方式。
查询语句是使用统的sql语句,拥有较为成熟的体系,成熟度很高。
开源数据库的份额在不断增加,mysql的份额页在持续增长。
缺点就是在海量数据处理的时候效率会显著变慢
mongodb: 非关系型数据库(nosql ),属于文档型数据库。文档的数据库,即可以存放xml、json、bson类型系那个的数据。
这些数据具备自述性(self-describing),呈现分层的树状数据结构。数据结构由键值(key=>value)对组成。
存储方式:虚拟内存+持久化。
查询语句:是独特的Mongodb的查询方式。
适合场景:事件的记录,内容管理或者博客平台等等。
架构特点:可以通过副本集,以及分片来实现高可用。
数据处理:数据是存储在硬盘上的,只不过需要经常读取的数据会被加载到内存中,将数据存储在物理内存中,从而达到高速读写。
实验环境
centos6.9_x64
mongodb_master 192.168.1.12
mongodb_slave 192.168.1.14
实验软件
mongodb-linux-x86_64-rhel62-3.4.0.tgz
软件安装
touch /etc/yum.repos.d/mongodb-org-3.2.repo
cat /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
yum clean all
yum makecache -y
yum install -y mongodb-org yum安装mogodb,主要介绍源代码安装
tar zxvf /root/mongodb-linux-x86_64-rhel62-4.0.1.tgz
mv /root/mongodb-linux-x86_64-rhel62-4.0.1 /usr/local/mongodb
mkdir -p /usr/local/mongodb/data
mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/data/logs
touch /usr/local/mongodb/data/logs/mongodb.log
cat /usr/local/mongodb/data/mongodb.conf mongodb_master配置,源代码安装默认没有配置文件
port = 27017 端口号
bind_ip = 192.168.1.12 监听端口
dbpath = /usr/local/mongodb/data/ 数据目录
logpath = /usr/local/mongodb/data/logs/mongodb.log 日志目录
logappend = true 日志输出格式
fork = true 后台启动
journal = true
auth = true 开启验证
master = true 确定mongodb 主服务器
cat /usr/local/mongodb/data/mongodb.conf mongodb_slave 配置
port = 27017
bind_ip = 192.168.1.14
source = 192.168.1.12:27017
dbpath = /usr/local/mongodb/data/
logpath = /usr/local/mongodb/data/logs/mongodb.log
fork = true
logappend = true
auth = true
journal = true
slave = true
touch /etc/init.d/mongodb && chmod +x /etc/init.d/mongodb 创建启动脚本
cat /etc/init.d/mongodb
#/bin/bash
#chekconfig: 2345 80 90
#description: mongodb
start() {
/usr/local/mongodb/bin/mongod --daemon --config /usr/local/mongodb/data/mongodb.conf
}
stop() {
/usr/local/mongodb/bin/mongod --daemon --config /usr/local/mongodb/data/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
netstat -tulnp|grep mongod
;;
restart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart}"
exit 1
esac
scp -p密码 /etc/init.d/mongodb root@192.168.1.14:/etc/init.d/
scp -p密码 /usr/local/mongodb/data/mongodb.conf root@192.168.1.14:/usr/local/mongodb/data/ master端配置复制配置文件脚本 到 slave机器
service mongodb start/restart/stop
ps -ef | grep mongo
root 3173 1 2 09:30 ? 00:00:00 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/data/mongodb.conf
root 3191 2991 0 09:30 pts/1 00:00:00 grep mongo
netstat -tuplna | grep 27017
tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 3173/mongod 以上操作master端操作