一、关于MongoDB1、MongoDB简介
MongoDB是一款跨平台、面向文档的数据库。可以实现高性能、高可用性、并且能够轻松扩展。是一个介于关系数据库和非关系数据库之间的产品,在高负载的情况下,添加更多的节点,可以保证服务器性能。 2、MongoDB的特点
MongoDB的特点包括面向集合存储、模式自由、丰富的查询语句和多级索引、复制集机制、易于水平扩展、可插入面向文档存储功能、操作起来比较容易。 3、MongoDB适用领域 MongoDB可以为Web应用提供可拓展的高性能数据存储解决方案。主要使用领域有网站数据、分布式场景、数据缓存和JSON文档格式存储。适用大数据量、高并发、弱事务的互联网应用,其内置的水平扩展机制提供了从几百万到十亿级别的数据处理能力,可以很好的满足Web2.0和移动互联网应用数据存储的要求。 二、MongoDB的安装和基本操作1、配置yum源仓库
vi /etc/yum.repos.d/CentOS-Base.repo [mongodb-org] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc 2、安装MongoDB 添加一块桥接网卡保证虚拟机能够访问外网 yum install -y mongodb-org //安装 vi /etc/mongod.conf //修改监听地址和端口
systemctl start mongod //启动服务 netstat -anpt | grep 27017 //查看监听端口
mongo //进库 db.version() //查看版本好 show dbs; //查看库 db.getMongo() //查看连接当前数据库的地址
注:MongDB中的操作命令可以[tab]补全 三、MongoDB的基本操作1、开启多实列 cp -p /etc/mongod.conf /etc/mongod2.conf //复制配置文件 vi /etc/mongod2.conf //修改新实列对应的路径和端口
mkdir -p /data/mongodb/mongo //创建目录与配置文件中一致 cd /data/mongodb/ touch mongod2.log //进入mongodb目录中添加日志文件 chmod 777 mongod2.log //增加权限 mongod -f /etc/mongod2.conf //加载新实列的配置文件
mongo --port 27018 //进入新实列对应的库 netstat -ntap | grep mongod //退出实列查看端口
2、MongoDB的基本命令 mongo //进入数据库 use mydb; //不存在会创建,不建立集合又会删除 db.createCollection('a') //创建集合 db.a.insert({"id":1,"name":"zhangsan"}) //向集合a中插入数据 db.a.find() //查询集合a中的所有数据 for(var i=1;i<=100;i++)db.users.insert({"id":i,"name":"jack"+i}) //批量插入数据 a=db.users.findOne({"id":2}) //查找指定记录并赋予别名a typeof(a.id) //查看属性类型 db.users.count() //统计集合数据量 db.users.update({"id":10},{$set:{"name":"tom"}}) //更改数值 show collections //查看集合 db.a.drop() //删除集合 db.dropDatabase() //删除数据库 3、数据的导入导出 mongoexport -d mydb -c users -o /opt/users.json //导出数据 mongoimport -d mydb -c user1 --file users.json //导入数据 mongoexport -d mydb -c user1 -q '{"id":{"$lt":11}}' -o /opt/top10.json //条件导出前十行数据 4、数据的备份与恢复 mkdir /backup mongodump -d mydb -o /backup/ //备份 mongorestore -d mydb --dir=/backup/mydb //恢复 5、复制数据库 db.copyDatabase("mydb","mydb1") 6、克隆集合 mongo --port 27018 db.runCommand({"cloneCollection":"mydb.users","from":"192.168.80.100:27017"}) 7、创建管理用户 use admin db.createUser({"user":"root","pwd":"123","roles":["root"]}) db.auth("root","123") show users //查看创建的用户 8、进程管理
db.currentOp() //查看进程 |