主机论坛_虚拟主机_美国主机_美国虚拟主机_云主机技术_全球主机交流聚集地—Web Hosting Talk 中文站

找回密码
立即注册
发新帖

0

收听

5

听众

991

主题
发表于 2022-5-9 15:06:30 | 查看: 31| 回复: 0
文章目录一、MongoDB :二、Linux 系统安装MongoDB :第一步:配置 YUM 源仓库第二步:安装 MongoDB三、MongoDB 基础操作1、基本命令:2、备份、恢复:3、安全管理:4、进程管理:5、MongoDB 监控:一、MongoDB :(1)MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
(2)MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
(3)特点:
面向集合存储,易存储对象类型的数据;模式自由、支持查询、支持动态查询;支持完全索引,包含内部对象;支持复制和故障恢复;使用高效的二进制数据存储,包括大型对象(如视频等);自动处理碎片,以支持云计算层次的扩展性;支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言;文件存储格式为BSON(一种JSON的扩展);可通过网络访问。二、Linux 系统安装MongoDB :1、配置 YUM 源仓库[mongodb-org]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc2、安装 MongoDByum install mongodb-org -y修改配置文件:vim /etc/mongod.confbindIp: 0.0.0.0    //监听地址port: 27017         //监听端口开启服务:systemctl start mongod.service#查看服务启动情况netstat -natp | grep 27017启动MongoDB 多实例:cp -p /etc/mongod.conf /etc/mongod2.confvim /etc/mongod2.conf  //修改以下代码:     path: /data/mongodb/mongod2.log      //日志文件目录     dbPath: /data/mongodb/mongo          //数据存储目录     port: 27018                          //服务器端口
创建实例的目录和日志文件:mkdir -p  /data/mongodb/cd /data/mongodb/mkdir mongo#创建日志文件touch mongod2.log#给于权限chmod 777 mongod2.log启动实例:mongod -f /etc/mongod2.conf    mongo --port 27018    //指定实例的端口netstat -ntap三、MongoDB 基础操作1、基本命令:(1)文档 : 相当于关系数据库的 行 (多个文档组成集合)
(2)集合 : 相当于关系数据库的 表 (多个集合组成数据库)
(3)数据库名特殊作用:
admin: 将用户添加到这个库,这个用户继承数据库所有权限;local : 这个库永远不被复制,可以存储限于本地单台服务器的任意集合;config : 当Mongo用于分片设置时,这个库在内部使用,保存分片的相关信息。 mongo   //进入数据库> db.version()      //查看版本> show dbs;         // 查看数据库> db.getMongo()     //查看当前数据库机器的连接地址> db.集合名.help     //显示集合操作命令> show users        //显示用户(4)具体操作:
>  use school;                       //打开school数据库, 不存在会创建,不建立集合又会删除> db.createCollection('info')        //创建集合> db.info.insert({"id":1,"name":"zhangsan","hobby":["game","talk"]})      //添加数据> db.info.find()                    //查看info集合中所有文档> show collections                  //查看数据库中所有集合> db.info.update({"id":10},{$set:{"name":"tom"}})     //更改数据> db.info.remove({"id":2})         //移除info集合中的id2的数据> db.info.drop()                   //删除info集合> db.dropDatabase()               //删除数据库  先use到要删的数据库里在删> db.info.count()                 //统计有多少条数据(5)MongoDB 数据类型:
String: 字符串,最常用,必须是utf-8Boolean:布尔值,true 或者falseInteger:整数Double:浮点数Arrays:数组或者列表,多个值存储到一个键Object:用于嵌入文档,即一个值为一个文档Null:存储null值Binary Data : 二进制数据,用于存储二进制数据Date:存储当前日期或时间unix时间格式(6)查看数据类型:
> a=db.info.findOne({"id":1})   //查找指定记录并赋予别名a> typeof(a.id)                  //查看属性类型2、备份、恢复:(1)导入导出:
导出:mongoexport导入:mongoimport常见选项:
-d 数据库
-c 集合
-o 目录文件.json结尾
-q 导出数据过滤条件
-f 导出哪些列for(var i=1;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i})    //循环写入100条数据mongoexport -d school -c info -o /opt/info.json        //导出mongoimport -d school -c info1 --file /opt/info.json  //导入到info1集合mongoexport -d school -c info1 -q '{"id":{"$eq":10}}' -o /opt/top10.json    //条件导出指定第10行(2)备份与恢复:
备份:mongodump恢复:mongorestore选项:
-h 指定Mongodb所在服务器的地址也可以指定端口(例:-h 127.0.0.1:27017)
-d :需要备份的数据库;
-o :备份数据存放的目录 该目录需提前创建mkdir /backup                       //创建存放目录mongodump -d school -o /backup/     //备份school数据库mongorestore -d school1 --dir=/backup/school    //恢复到school1数据库④ 复制数据库:
db.copyDatabase("school","school2")     //复制数据库school 到school2中⑤ 克隆数据库:
把数据库school的info集合 克隆到实例2先进入实例2的MongoDBmongo --port 27018db.runCommand({"cloneCollection":"school.info","from":"192.168.126.130:27017"}) 3、安全管理:创建管理用户;启动是必须指定 auth=true;可以将用户分配角色;内置数据库用户角色: read 、 readWrite;数据库管理员角色: dbAmin 、 dbOwner 、 userAdmin;超级用户角色 :root
vim /etc/mongod.confauth=true   //添加mongo> use admin> db.createUser({"zkc":"root","pwd":"123","roles":["root"]})//创建用户zkc  密码123  分配到root角色> db.auth("root","123")     //验证用户4、进程管理:终止正在运行的进程: db.killOp(opid值)、查看当前正在运行的进程: db.currentOp()> db.currentOp()       //查看> db.killOp(4872) //终止4872进程5、MongoDB 监控:MongoDB提供一些内置工具可以监测数据库的状态信息查看数据库实例的状态信息: db.serverStatus()查看数据库的统计信息: db.stats()此外也可以通过web界面查看系统监控信息需要在配置文件中加入vim /etc/mongod.confhttpinterface=true
云专线 海外专线 http://www.vecloud.com

收藏回复 显示全部楼层 道具 举报

您需要登录后才可以回帖 登录 | 立即注册

Archiver|手机版|小黑屋|WebHostingTalk中文站

GMT+8, 2024-5-17 15:27 , Processed in 0.072331 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表