ubuntu安装mongdb & 常用命令
来源:互联网 发布:ipad如何清除缓存数据 编辑:程序博客网 时间:2024/06/15 20:12
# apt-cache show mongodb
安装
# apt-get install -y mongodb
安装完以后,会自动启动可以通过下面目录插件进程:
# pgrep mongod -l
或
# ps -ef | grep mongod
修改配置文件,设置远程访问,修改监听IP
vim /etc/mongodb.conf
bind_ip = 0.0.0.0
默认监听端:0.0.0.0:27017,无认证,任何人都可以连接。
默认情况下,mongod也是没有管理员账户的。因此除非你在admin数据库中使用db.addUser()命令添加了管理员帐号,且使用–auth参数启动mongod,否则在数据库中任何人都可以无需认证执行所有命令。包括delete和shutdown。
此外,mongod还会默认监听28017端口,同样是绑定所有ip。这是一个mongod自带的web监控界面。从中可以获取到数据库当前连接、log、状态、运行系统等信息。如果你开启了–rest参数,甚至可以直接通过web界面查询数据,执行mongod命令。
mongodb有两种用户:admin用户和特定数据库用户。admin用户拥有最高的权限,而特定数据库用户则只能访问特定的数据库。
当mongodb的admin库里没有任何用户的时候,也就是说整个mongodb没有一个mongodb用户的时候,即便–auth权限需求打开了,用户还是可以通过localhost界面进入mongodb进行用户设置,否则的话整个mongodb就完全没法访问了。而当这个用户创建完成之后,之后的用户登录和操作就需要授权了,不是直接登录就能使用的了。
mongodb使用时要注意,即便是一个admin用户,授权也必须在admin数据库下进行,而不能在其他数据库下进行。而授权之后admin用户就可以在任何数据库下进行任何操作了。当然数据库级别的用户在他自己的数据库下授权之后是不能到其他数据库进行操作的。
配置文件mongod.conf中的常用配置参数
dbpath = /data/mongodb
logpath = /data/mongodb/mongodb.log
logappend = true
port = 27017
fork = true
auth = true
启动于关闭
# service mongodb stop
# service mongodb start
默认安装以后是启动的
卸载mongodb
停止服务、删除程序文件、删除数据文件和日志文件的目录
# service mongod stop
# apt-get purge mongodb-org*
# rm -r /var/log/mongodb
# rm -r /var/lib/mongodb
连接mongodb
# mongo 127.0.0.1:27017
数据数据库
# mongo
>
常用数据库命令:
查看数据库
> show dbs
admin和local为系统默认内置数据库
添加用户
> db.addUser('root','1q2w3e')
创建用户和远程访问
创建管理员
> db.createUser({user: "root",pwd: "1q2w3e",roles: [ "readWrite", "dbAdmin" ]});
查看当前数据库下的所有表
> use admin
> show collections
MongoDB默认设置为无权限访问限制,我们需要先把它设置成为需要权限访问
在mongodb路径的bin目录下,执行
# mongod --dbpath /mydata/mongodb/db --auth
给某个数据库添加用户访问权限
> db.addUser('testuser','pwd')
> db.auth('testuser','pwd')
删除用户
> db.removeUser('testuser')
修改绑定IP
# vi /etc/mongod.conf
开启mongodb防火墙端口
# 省略
改变mongodb的数据存储和日志路径
mongodb安装以后,默认数据文件:/var/lib/mongodb 日志文件:/var/log/mongodb
mkdir -p /mydata/mongodb/data
mkdir -p /mydata/mongodb/log
修改mongodb的配置文件:mongod.conf
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /mydata/mongodb/data
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /mydata/mongodb/log/mongod.log
# network interfaces
net:
port: 27017
#bindIp: 127.0.0.1
指定配置文件启动:
# mongod -f /mydata/mongodb/mongod.conf &
创建数据库
如果没有mydb数据库的话,直接执行下面命令,会创建数据库
> use mydb
查看数据库
> show dbs
命令检查当前数据库状态
> db.stats()
####
帮助
> db.test01.help()
创建表
> db.createCollection("test01")
> db.createCollection("test02",{capped:true, size:10000}) { "ok" : 1 }
修改数据表名
> db.test01.renameCollection("mytest01")
查看所有记录
> db.test01.find()
查询一条记录
> db.test01.findOne()
查询聚集中UserName包含“keyword”关键字的记录
> db.test01.find({"UserName":/keyword/})
查询聚集中UserName以"keyword" 开头的记录
> db.test01.find({"UserName":/^keyword/})
查询聚集中指定列
> db.test01.find({},{"UserName":1,"Email":1}) --1:true
查询聚集中排除指定列
> db.test01.find({},{"UserName":0}) --0:false
查询聚集中指定列,且Age > 20
> db.test01.find({"Age":{"$gt":20}},{"UserName":1,"Email":1})
常用排序查询
> db.test01.find().sort({"UserName":1}) -- 升序
> db.test01.find().sort({"UserName":-1}) --降序
查询总记录条数
> db.test01.find().count()
> db.test01.find({"Age":{"$gt":20}}).count()
插入新记录
db.test01.insert({ID:1,UserName:"Frank",info:"China",Age:15,Email:"test@test.com",CreateDate:"2017-06-05 14:36:95"})
db.test01.insert({ID:2,UserName:"Lucy",info:"China",Age:16,Email:"test2@test.com",CreateDate:"2017-06-05 15:36:95"})
删除指定的记录
db.test01.remove({ID:2})
remove删除表中的记录,删除是永久性的,不能撤销
删除connection的所有记录
db.test01.remove()
不指定参数,删除所有记录
删除指定的connection
db.test01.drop()
remove和drop的区别:
remove将connection的文档删除,但不删除connection自身,也不删除connection的索引。
drop不仅删除connection的文档,也会删除connection自身,同时也会删除在connection上创建的索引。
删除当前数据库
use mytestdb
db.dropDatabase()
show dbs
插入一条较长的记录(较长的字符串值)
插入一个包含8M(8388608字节)的字符串的字段的记录:
for(var i=1, j="a"; i<=8388608; i++){
j=j+"a"
if(i==8388608) {
db.table8m.insert({ID:5,name:"Jack",info:j,CreateDate:"2017-08-24 16:35:08"})
}
}
> for(var i=1, j="a"; i<=8388608; i++){
... j=j+"a"
... if(i==8388608) {
... db.table8m.insert({ID:5,name:"Jack",info:j,CreateDate:"2017-08-24 16:35:08"})
... }
... }
WriteResult({ "nInserted" : 1 })
>
插入一个包含15M的字符串的字段的记录:
for(var i=1, j="a"; i<=15728640; i++){
j=j+"a"
if(i==15728640) {
db.table01.insert({ID:1,name:"test16m",info:j,CreateDate:"2017-08-24 16:35:08"})
}
}
- ubuntu安装mongdb & 常用命令
- 在Ubuntu下安装Mongdb,以及Mongdb基本操作命令
- 安装mongdb
- MongDB安装
- Mongdb安装
- mongdb 安装
- Mongdb的常用命令
- Ubuntu 安装显卡常用命令
- ubuntu软件安装常用命令
- Ubuntu 安装Docker 常用命令
- mongdb 安装初体验
- mongdb安装使用
- MongDB Mac下安装
- Mongdb与RoboMongdb安装
- windows 下安装mongdb
- mongdb php 驱动安装
- mongdb安装时报错
- mongdb 安装问题解决
- 【LeetCode】273. Integer to English Words
- python2.7 实现的实时监控指定股票价格的小程序
- spring之把配置文件的加载交给服务
- 欢迎使用CSDN-markdown编辑器
- Android ANR学习资源
- ubuntu安装mongdb & 常用命令
- SurfaceView
- Android GestureDetector手势识别
- KRpano 360° 旋转物体效果,插件
- Eclipse 教程
- win10 64系统如何换成win7 32系统?
- Spring 4 官方文档学习(⑦)Web MVC 框架之HTTP caching support
- JS引用类型深度拷贝浅拷贝
- Fiddler:显示请求花费的时间