mongodb的简单操作记录
由于项目上需要对mongodb进行监控,所以需要先熟悉下什么是mongobd以及mongodb的简单操作
mongodb的安装:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz # 下载
tar -zxvf mongodb-linux-x86_64-3.0..tgz # 解压 mv mongodb-linux-x86_64-3.0./ /usr/local/mongodb # 将解压包拷贝到指定目录
MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中:
export PATH=<mongodb-install-directory>/bin:$PATH
<mongodb-install-directory> 为你 MongoDB 的安装路径。如本文的 /usr/local/mongodb 。
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
以下实例中我们将data目录创建于根目录下(/)。
注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。
mkdir -p /data/db
启动mongodb ----- mongod 如果安装路径不是默认的,那么可以--dbpath 指定路径
进入交互式模式 mongo ----(MongoDB Shell是MongoDB自带的交互式Javascript shell) 它默认会链接到 test 文档(数据库)在里面的操作默认都会存放到test数据库里面去 如下
将数字 10 插入到 runoob 集合的 x 字段中。
--"show dbs" 命令可以显示所有数据的列表。
--“db” 可以显示当前数据库的信息
有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
- admin: 从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
- local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
- config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。
mongodb的连接方式
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
mongodb:// 这是固定的格式,必须要指定。
username:password@ 可选项,如果设置,在连接数据库服务器之后,驱动都会尝试登陆这个数据库
host1 必须的指定至少一个host, host1 是这个URI唯一要填写的。它指定了要连接服务器的地址。如果要连接复制集,请指定多个主机地址。
portX 可选的指定端口,如果不填,默认为27017
/database 如果指定username:password@,连接并验证登陆指定数据库。若不指定,默认打开 test 数据库。
?options 是连接选项。如果不使用/database,则前面需要加上/。所有连接选项都是键值对name=value,键值对之间通过&或;(分号)隔开
创建数据库:如果不存在就新创建一个
use DATABASE_NAME
可以看到,我们刚创建的数据库 runoob 并不在数据库的列表中, 要显示它,我们需要向 runoob 数据库插入一些数据。
注意: 在 MongoDB 中,集合只有在内容插入后才会创建! 就是说,创建集合(数据表)后要再插入一个文档(记录),集合才会真正创建。
如上图所示分别创建了一个数据库 runnoob 在数据库里面创建了一个表 runnoob,并且插入了数据, 然后删除了这个表
创建集合(理解为创建一个表)可以参考 http://www.runoob.com/mongodb/mongodb-create-collection.html
常用的操作集合
##暴力重启操作
killall mongod
killall mongos
rm -f /usr/local/mongodb/config/data/mongod.lock
rm -f /usr/local/mongodb/shard1/data/mongod.lock
rm -f /usr/local/mongodb/shard2/data/mongod.lock
rm -f /usr/local/mongodb/shard3/data/mongod.lock mongod --repair --dbpath=/usr/local/mongodb/config/data
mongod --repair --dbpath=/usr/local/mongodb/shard1/data/
mongod --repair --dbpath=/usr/local/mongodb/shard2/data/
mongod --repair --dbpath=/usr/local/mongodb/shard3/data/ #mongod服务启动 mongod -f /usr/local/mongodb/conf/config.conf
mongod -f /usr/local/mongodb/conf/shard1.conf
mongod -f /usr/local/mongodb/conf/shard2.conf
mongod -f /usr/local/mongodb/conf/shard3.conf
mongos -f /usr/local/mongodb/conf/mongos.conf # 查看mongodb状态 加入了验证之后
./mongostat -h0.0.0.: -uroot -p123456 --authenticationDatabase=admin #创建用户 db.createUser(
{
user:"root",
pwd:"zfno11",
roles:[{role:"root",db:"admin"}]
}
) # 查看mongodb的状态----配置zabbix做监控
./mongo --port -uroot -pabc123 --authenticationDatabase=admin ./mongostat -h0.0.0.: -uroot -pabc123 --authenticationDatabase=admin echo "db.serverStatus()" | /opt/mongodb/bin/mongo --port -uroot -pabc123 --authenticationDatabase=admin admin
最新文章
- LeetCode: 3Sum
- 04.LoT.UI 前后台通用框架分解系列之——轻巧的弹出框
- Gui系统之View体系(2)---View的setContent
- 下面就介绍下Android NDK的入门学习过程(转)
- java篇 之 操作符
- vue通过自定义指令 v-py 将名字转拼音
- windows下安装git和vundle
- JavaScript数据类型之布尔类型
- 自动化部署shell
- (stringstream toupper 空格) 词组缩写 hdu2564
- MySQL_select语句(不定时更新)
- Kinect2.0获取数据
- 4.使用Jackson将Json数据转换成实体数据
- kvm虚拟化存储池配置
- win7下docker环境centos容器中安装mysql5.7
- HTTP和HTTPS的区别,以及各自的优缺点
- innerText兼容性问题
- 图解Laravel的生命周期
- SQLSERVER 2008 链接 到 ORACLE 11
- React脚手架less的安装
热门文章
- [SQL 高级查询运算符的用法 UNION (ALL),EXCEPT(ALL),INTERSECT(ALL) ]
- linux读xml文件问题
- Android studio 项目支持JNI方法
- 阶段3 3.SpringMVC&#183;_02.参数绑定及自定义类型转换_4 请求参数绑定集合类型
- 六十五:CSRF攻击与防御之CSRF防御之form表单防御
- kill-9 kill-15
- java分布式事务及解决方案
- Tushare金融大数据入门
- C基础知识(6):指针--函数指针与回调涵数
- 获取sql server中自增量之scope_identity(),@@Identity,IDENT_CURRENT的区别