“芒果数据库”————mongodb基操

一、搭建mongodb数据库

systemctl stop firewalld
setenforce 0

配置YUM仓库
vim mongodb-org-4.0.repo
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

yum list

安装MongoDB
yum -y install mongodb-org

vim /etc/mongod.conf	
net:
  port: 27017				#监听端口
  bindIp: 0.0.0.0			#监听地址

systemctl start mongod.service
netstat -natp | grep 27017

# 进入数据库
mongo

# 查看所有数据库
show dbs
exit

# 生成第二个数据库实例
创建第二个实例
cp -p mongod.conf mongod2.conf 
vim /etc/mongod2.conf
systemLog:
  destination: file
  logAppend: true
  path: /data/mongodb/mongod2.log			#修改,后期创建目录
storage:
  dbPath: /data/mongodb/mongo		#修改,后期创建目录
  journal:
    enabled: true
net:
  port: 27018				#端口修改,避免端口冲突
  bindIp: 0.0.0.0

mkdir -p /data/mongodb
cd /data/mongodb
mkdir mongo
touch mongod2.log
chmod 777 mongod2.log
mongod -f /etc/mongod2.conf		# 启动第二个的命令
netstat -natp | grep mongod

mongo --port 27018

# 版本查询
> db.version()
4.0.23 

二、基本操作(数据放在集合里,集合放在数据库里)

use mydb 			#不存在会创建,不建立集合又会删除

db.createCollection('info')   #创建集合

show collections或者show tables		      #查看集合	

db.info.insert({"id":1,"name":"zhangsan","score":88,"hobby":["game","talk","sport"]})

for (var i =3;i<=100;i++)db.info.insert({"id":i,"name":"tom"+i})			#+号是字符串连接符。

db.info.find()				  #查看info集合里的数据,()里可以增加查找的条件

db.info.findOne({"id":2})		#查找指定记录

a=db.info.findOne({"id":2})		#查找指定记录并定义别名

typeof(a.id)				#查看数值类型

db.info.update({"id":10},{$set:{"name":"jack"}})		#更改id为10的,名字改为jack 	 $set:替换

db.createCollection('test')
db.test.drop()					#删除集合

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB
> use test
switched to db test
> db.createCollection('a')
{ "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB
test    0.000GB
> use test						#先use库
switched to db test
> db.dropDatabase()				#删除库
{ "dropped" : "test", "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB

> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB
> use mydb
switched to db mydb
> show tables
info
> db.info.count()		#统计集合里的数据数量
100

数据的导出
mongoexport -d mydb -c info -o /opt/info.json		#-d 指定数据库 -c 指定集合 -o 指定导出的位置,注意文件格式为.json

数据按条件导出
mongoexport -d mydb -c info -q '{"id":{"$eq":10}}' -o /opt/top10.json			# -q 指基于条件 $eq是等于

数据的导入
mongoimport -d mydb -c info1 --file info.json       #--file 如果使用命令与要导入的文件在同目录下可使用相对路径,反之需使用绝对路径

备份
mkdir /backup
mongodump -d mydb -o /backup 			#mongodump 备份

恢复
mongorestore -d qq --dir=/backup/mydb 

复制数据库
db.copyDatabase("mydb","mydb2")

克隆集合
mongo --port 27018
db.runCommand({"cloneCollection":"kgc.users","from":"192.168.241.9:27017"})

创建管理用户
use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root":"123")

进程管理
db.currentOp()
显示
"opid" : 1676,
db.killOp(1676)

后续会持续更新“芒果数据库”

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值