ubuntu安装mongodb创建账号和库及添加坐标索引的流程分析

摘要: 作为开发,nosql我们用的越来越多,代表性的是mongodb,速度快性能好,还能完美的创建二维索引.这里我们梳理一下ubuntu上安装mongodb创建账号和库及添加坐标索引

一  安装

  1.1 安装php-mongodb

sudo apt-get install php-mongodb

  1.2 安装mongodb-org

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6

    如果是ubuntu14则

echo "deb [ arch=amd64 ] http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

    如果是ubuntu16或者18则

echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list

    接下来

sudo apt-get update

sudo apt-get install -y mongodb-org

sudo service mongod start # 启动

二  常见启动等命令

sudo service mongod start # 启动
sudo service mongod stop # 关闭
ps aux | grep mongod  # 查看进程

三  创建表,角色与权限   

3.1 管理员账号

mongo --host 127.0.0.1

use admin

db.createUser(
... {
... user: "test",
... pwd: "test@1111",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )

db.getUser('test')

exit

  3.2 对象库管理员账号及权限

mongo --host 127.0.0.1 -u 'test' --authenticationDatabase 'admin' -p 'test@1111'

use admin

db.auth('test','test@1111')

use lbs

db.createUser(
... {
... user: "testlbs",
... pwd: "testlbs1111",
... roles: [ { role: "readWrite", db: "lbs" },
... { role: "read", db: "lbs" } ]
... }
... )

exit

  3.3 对象库索引

mongo --host 127.0.0.1 -u 'testlbs' --authenticationDatabase 'lbs' -p 'testlbs1111'

db

use lbs

db

db.createCollection('lbs',{capped:false})

db.lbs.createIndex({'location':'2dsphere'})

db.lbs.createIndex({'uniqid':1},{unique:true})

四  卸载

  4.1 关闭守护进程mongod

sudo service mongod stop

  4.2 卸载安装的软件包

sudo apt-get purge mongodb-org*

  4.3 移除数据库和日志文件(数据库和日志文件的路径取决于/etc/mongod.conf文件中的配置)

sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

总结

到此这篇关于ubuntu安装mongodb创建账号和库及添加坐标索引的流程分析的文章就介绍到这了,更多相关mongodb创建账号和库及添加坐标索引内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2020-10-16

MongoDB自动删除过期数据的方法(TTL索引)

前序: 最近由于公司业务需求,对于3个月前的过期数据需要进行删除动作,以释放空间和方便维护 本来想的是使用crontab写个脚本定时执行,但是看到Mongo本身就有自动删除过期数据的功能,所以还是用一下吧 这个方法就是使用TTL索引,后续我再写一个脚本定时删除的任务,关于TTL索引的更多使用实例,大家可以参考学习这篇文章:https://www.jb51.net/article/126810.htm 介绍: TTL索引是MongoDB中一种特殊的索引, 可以支持文档在一定时间之后自动过期删除,目

关于MongoDB索引管理-索引的创建、查看、删除操作详解

索引是提高查询查询效率最有效的手段.索引是一种特殊的数据结构,索引以易于遍历的形式存储了数据的部分内容(如:一个特定的字段或一组字段值),索引会按一定规则对存储值进行排序,而且索引的存储位置在内存中,所在从索引中检索数据会非常快.如果没有索引,MongoDB必须扫描集合中的每一个文档,这种扫描的效率非常低,尤其是在数据量较大时. 1. 创建/重建索引 MongoDB全新创建索引使用ensureIndex()方法,对于已存在的索引可以使用reIndex()进行重建. 1.1 创建索引ensureI

mongodb禁止外网访问及添加账号的操作方法

那么我将从两个方面提高mongo数据库的安全防护系数 1.设置mongodb外网禁止访问 启动数据库时,额外添加--bind_ip 127.0.0.1即可  ./mongod --bind_ip 127.0.0.1 --dbpath /data/db --auth 也可以通过修改/etc/mongod.conf文件添加一行代码 #只监听本地接口,多个接口用,隔开 bind_ip = 127.0.0.1 2.为数据库设置账号密码登录权限 为了保证数据库需要账号密码才能连接,那么在启动数据库的时候需

深入理解MongoDB的复合索引

为什么需要索引? 当你抱怨MongoDB集合查询效率低的时候,可能你就需要考虑使用索引了,为了方便后续介绍,先科普下MongoDB里的索引机制(同样适用于其他的数据库比如mysql). mongo-9552:PRIMARY> db.person.find() { "_id" : ObjectId("571b5da31b0d530a03b3ce82"), "name" : "jack", "age" :

MongoDB中唯一索引(Unique)的那些事

写在前面 MongoDB支持的索引种类很多,诸如单键索引,复合索引,多键索引,TTL索引,文本索引,空间地理索引等.同时索引的属性可以具有唯一性,即唯一索引.唯一索引用于确保索引字段不存储重复的值,即强制索引字段的唯一性.缺省情况下,MongoDB的_id字段在创建集合的时候会自动创建一个唯一索引.本文主要描述唯一索引的用法. 关于什么是索引以及唯一索引这里就不做说明了,不清楚的可以自行谷歌或者百度.是什么引起我写这篇文章呢,这来自于之前项目中的一个问题. 我们用的是MongoDB数据存储用户信

MongoDB中创建索引需要注意的事项

上周在 ruby-china 上发了帖子<MongoDB 那些坑>,反映相当热烈,许多回复很有见地,其中一位童鞋深入的提到 MongoDB 建索引方法的问题,引发我更深入的了解了 MongoDB 建索引的方法和一些注意事项. 在 <MongoDB 那些坑>中提到,在前台直接运行建立索引命令的话,将造成整个数据库阻塞,因此索引建议使用 background 的方式建立.但是这也会带来一定的问题,在 2.6 版本之前,在 secondary server 中即使使用 backgroun

MySQL中的唯一索引的简单学习教程

mysql 唯一索引UNIQUE一般用于不重复数据字段了我们经常会在数据表中的id设置为唯一索引UNIQUE,下面我来介绍如何在mysql中使用唯一索引UNIQUE吧. 创建唯一索引的目的不是为了提高访问速度,而只是为了避免数据出现重复.唯一索引可以有多个但索引列的值必须唯一,索引列的值允许有空值.如果能确定某个数据列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该使用关键字UNIQUE. 把它定义为一个唯一索引. 创建表时直接设置: DROP TABLE IF EXISTS `st

MongoDB性能篇之创建索引,组合索引,唯一索引,删除索引和explain执行计划

一.索引 MongoDB 提供了多样性的索引支持,索引信息被保存在system.indexes 中,且默认总是为_id创建索引,它的索引使用基本和MySQL 等关系型数据库一样.其实可以这样说说,索引是凌驾于数据存储系统之上的另一层系统,所以各种结构迥异的存储都有相同或相似的索引实现及使用接口并不足为 奇. 1.基础索引 在字段age 上创建索引,1(升序);-1(降序): db.users.ensureIndex({age:1}) _id 是创建表的时候自动创建的索引,此索引是不能够删除的.当

mysql 中存在null和空时创建唯一索引的方法

好多情况下数据库默认值都有null,但是经过程序处理很多时候会出现,数据库值为空而不是null的情况.此时创建唯一索引时要注意了,此时数据库会把空作为多个重复值,而创建索引失败,示例如下: 步骤1: mysql> select phone ,count(1) from User group by phone; +-----------------+----------+ | phone | count(1) | +-----------------+----------+ | NULL | 70

MongoDB中的定时索引示例详解

MongoDB中存在一种索引,叫做TTL索引(time-to-live index,具有生命周期的索引),这种索引允许为每一个文档设置一个超时时间.一个文档达到预设置的老化程度后就会被删除. 数据到期对于某些类型的信息非常有用,例如机器生成的事件数据,日志和会话信息,这些信息只需要在数据库中保存有限的时间. 在createIndex中指定expireAfterSeconds选项就可以创建一个TTL索引: // 超时时间为24小时,默认是前台运行,可以通过background:true设置为后台模

MongoDB教程之索引介绍

一.索引基础: MongoDB的索引几乎与传统的关系型数据库一模一样,这其中也包括一些基本的优化技巧.下面是创建索引的命令:   复制代码 代码如下: > db.test.ensureIndex({"username":1}) 可以通过下面的名称查看索引是否已经成功建立:   复制代码 代码如下: > db.test.getIndexes() 删除索引的命令是:   复制代码 代码如下: > db.test.dropIndex({"username"

使用aggregate在MongoDB中查询重复数据记录的方法

MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). aggregate() 方法 MongoDB中聚合的方法使用aggregate(). 语法 aggregate() 方法的基本语法格式如下所示: >db.COLLECTION_NAME.aggregate(AGGREGATE_OPERATION) 我们知道,MongoDB属于文档型数据库,其存储的文档类型都是JSON对象.正是由于这一特性,我们

MongoDB中强大的统计框架Aggregation使用实例解析

听说项目里面Aggregation用的多,那就专门针对这个多多练习一下. 基本的操作包括: •$project - 可以从子文档中提取字段,可以重命名字段 •$match - 可以实现查找的功能 •$limit - 接受一个数字n,返回结果集中的前n个文档. •$skip - 接受一个数字n,丢弃结果集中的前n个文档.效率比较低,依然会遍历前n个文档. •$unwind - 可以将一个包含数组的文档切分成多个, 比如你的文档有 中有个数组字段 A, A中有10个元素, 那么经过 $unwind处

MongoDB中的参数限制与阀值详析

前言 今天搜索spark mongo的资料,意外发现了MongoDB的一些知识,这些都是之前没有接触过的,所以专门记录下. (๑• . •๑) 下面话不多说了,来一起看看详细的介绍吧 一.BSON文档 BSON文档尺寸:一个document文档最大尺寸为16M:大于16M的文档需要存储在GridFS中. 文档内嵌深度:BSON文档的结构(tree)深度最大为100. 二.Namespaces collection命名空间:.,最大长度为120字节.这也限定了database和collection