# 介绍
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自由的文档型数据库
# 安装
CentOS7系统下YUM安装安装Mongodb 3.4
第一步 查看是否存在Mongodb配置yum源
切换到yum目录 cd /etc/yum.repos.d/
查看文件 ls
第二部 不存在添加yum 源
创建文件 touch mongodb-3.4.repo
编辑该文件 vi mongodb-3.4.repo
内容 :
cat /etc/yum.repos.d/mongodb-3.4.repos
~~~
[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.2.asc
~~~
这里可以修改 gpgcheck=0, 省去gpg验证,推荐
安装之前先更新所有包 :yum update (可选操作)
然后安装: yum install -y mongodb-org
查看mongo安装位置 whereis mongod
查看修改配置文件 : vi /etc/mongod.conf
启动mongod :systemctl start mongod.service
停止mongod :systemctl stop mongod.service
---
PHP7安装MongoDB拓展
1.下载php7 mongodb拓展包,并将源码包放到/usr/local/src/目录下
下载页面:http://pecl.php.net/package/mongodb
2.进入src/目录
cd /usr/local/src/
3.解压拓展包
tar -zxf mongodb-1.3.0.tgz
4.进入mongodb拓展目录,编译安装拓展
复制代码
cd mongodb-1.3.0/
~~~
phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install
~~~
添加mongodb.so扩展配置,保存退出
~~~
extension=mongodb.so
~~~
## 配置
找到bind_ip
修改成下面的方式
net:
port: 27017
bindIp: [127.0.0.1,59.110.143.210] # 注意这个ip 是这个主机的ip
坑:记得格式不是 加空格 也不是加逗号,以数组的方式
一般上面改下就可以了
# 文档
文档是mongoDB中数据的基本单元,类似关系数据库的行,
多个键值对有序地放置在一起便是文档。
MongoDB 中以文档的方式存取记录,如一条记录格式如下:
~~~
{ “username”:”Tom”, “age”:10 ,email:’xiaobai@sohu.com’,’sex’:男,键值}
{ "username":"Tom" , "age" : "10" }
{“Username”:”Tom”,”age”:10}
{“Username”:”Tom” }
~~~
注意:
(1)以上是几个不同的文档,MongoDB区分大小写的数据类型,第一个age字段是数字类型,第二个age是字符串类型。
(2)每一个文档尺寸不能超过16M
# 集合
集合就是一组文档,多个文档组成一个集合,集合类似于 mysql里面的表 。
无模式是指,在同一个集合中可以包含不同格式的文档,如:
~~~
{ "Name" : "Mongodb" , "Type" : "Nosql" }
{ "UserName" : "Tom" , "age" : 20 , "Gender" : "male" }
~~~
以上两个文档可以放在同一个集合中。
在Mysql需要先建表再插入数据,
模式自由(schema-free):**意思是集合里面没有行和列的概念**,
注意:MongoDB中的集合不用创建、没有结构,所以可以放不同格式的文档
# 数据库
多个集合可以组成数据库。一个mongoDB实例可以承载多个数据库,他们之间完全独立。
Mongodb中的数据库和Mysql中的数据库概念类似,只是无需创建。
一个数据库中可以有多个集合。
一个集合中可以有多个文档。
# 启动
mongo是客户端连接程序
mongod是服务端启动程序
该软件是一个c/s架构,
语法:mongo ip地址:端口号,如果是默认端口,是本地登陆,则直接输入mongo即可
语法:
mongod --port 指定的端口 --dbpath 数据库存储目录(全路径)--logpath 日志文件(全路径)
- SQL
- 名词
- mysql
- 初识mysql
- 备份和恢复
- 存储引擎
- 数据表损坏和修复
- mysql工具
- 数据库操作
- 增
- 删
- 改
- 查
- 数据类型
- 整数类型
- 小数类型
- 日期时间类型
- 字符和文本型
- enum类型
- set类型
- 时间类型
- null与not null和null与空值''的区别
- 数据表操作
- 创建
- 索引
- 约束
- 表选项列表
- 表的其他语句
- 视图
- sql增删改查
- sql增
- sql删
- sql改
- sql查
- sql语句练习
- 连接查询和更新
- 常用sql语句集锦
- 函数
- 字符函数
- 数值运算符
- 比较运算符与函数
- 日期时间函数
- 信息函数
- 聚合函数
- 加密函数
- null函数
- 用户权限管理
- 用户管理
- 权限管理
- pdo
- 与pdo相关的几个类
- 连接数据库
- 使用
- pdo的错误处理
- pdo结果集对象
- pdo结果集对象常用方法
- pdo预处理
- 常用属性
- mysql编程
- 事务
- 语句块
- mysql中的变量
- 存储函数
- 存储过程
- 触发器
- mysql优化
- 存储引擎
- 字段类型
- 三范式和逆范式
- 索引
- 查询缓存
- limit分页优化
- 分区
- 介绍
- 分区算法
- list分区
- range范围
- Hash哈希
- key键值
- 分区管理
- 特别注意
- 分表
- 数据碎片与维护
- innodb表压缩
- 慢查询
- explain执行计划
- count和max,groupby优化
- 子查询优化
- mysql锁机制
- 介绍
- 演示
- 总结
- 乐观锁和悲观锁
- 扛得住的mysql
- 实例和故事
- 系统参数优化
- mysql体系结构
- mysql基准测试
- 索引
- mysql的复制
- win配置MySQL主从
- mysql5.7新特性
- 常见问题
- general log
- 忘记密码
- uodo log与redo log
- 事务隔离级别
- mysql8密码登录
- explain
- 高效的Tree表
- on delete cascade 总结
- mongod
- 简介
- 集合文档操作语句
- 增删改查
- 索引
- 数据导入和导出
- 主从复制
- php7操作mongod
- 权限管理
- redis
- redis简介
- 3.2版本配置文件
- 3.0版本配置文件
- 2.8版本配置文件
- 配置文件总结
- 外网连接
- 持久化
- RDB备份方式保存数据
- AOF备份方式保存数据
- 总结
- win安装redis和sentinel部署
- 事务
- Sentinel模式配置
- 分布式锁
- 管道
- php中redis代码
- 发布订阅
- slowlog
- Redis4.0
- scan和keys
- elasticsearch
- 配置说明
- 启动
- kibana
- kibana下载
- kibana配置文件
- kibana常用功能
- 常用术语
- Beats
- Beats简介
- Filebeat
- Packetbeat
- Logstash
- 配置
- elasticsearch架构
- es1.7
- head和bigdesk插件
- 插件大全
- 倒排索引
- 单模式下API增删改查
- mget获取多个文档
- 批量操作bulk
- 版本控制
- Mapping映射
- 基本查询
- Filter过滤
- 组合查询
- es配置文件
- es集群优化和管理
- logstash
- kibana
- es5.2
- 安装
- 冲突处理
- 数据备份
- 缺陷不足
- 集群管理api
- 分布式事务
- CAP理论
- BASE模型
- 两阶段提交(2PC)
- TCC (Try-Confirm-Cancle)
- 异步确保型
- 最大努力通知型
- 总结