标签:指定 2.0 x86 seve work 增加 数据量 ESS web应用
MongoDBvim /etc/yum.repos.d/mongodb-org.repo
[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/ //选择3.6安装版本
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc //官方验证密匙网址
yum list
yum install mongodn-org
vim /etc/mongodb.conf
# network interfaces
net:
port: 27017 //服务监听端口
bindIp: 0.0.0.0 //修改服务监听地址,0.0.0.0表示任意网段
systemctl stop firewalld.service
setenforce 0
mongod -f /etc/mongod.conf //启动服务
mongod -f /etc/mongod.conf --shutdown //停止服务
mongo --port27017 //或者mongo直接进入数据库
> show dbs //查看数据库
> use school //不存在会创建数据库
> db.dropDatabase() //删除数据库,在哪一个数据库下就删除哪一个数据库
> use info; //不存在会创建,不建立集合又会删除
> db.createCollection(‘a‘) //创建集合a
> db.a.insert({"id":1,"name":"zhangsan"}) //插入数据,json键值对格式,如果一个键对应多个值,那么{"hobby":["sport","run"]}
> db.a.find() //查看集合a中的是所有数据
> for(var i=2;i<=100;i++)db.info.insert({"id":i,"name":"jack"+i}) //循环插入数据
> db.info.findOne({"id":10}) //查看指定行
> a=db.users.findOne({"id":2}) //查找指定记录并赋予别名a
> typeof(a.id) //查看属性类型
> db.users.update({"id":10},{$set:{"name":"tom"}}) // 更改user集合中id=10中name
> show collections //查看当前数据库下所有集合,或者使用show tables
> db.a.drop() //删除集合a
多实例的开启需要为另外一个实例创建一个单独配置文件,以及独立的数据文件存放目录以及日志独立日志文件及不同端口。在配置文件中唯一需要注意的是pid进程文件位置不能更改。
cp -p /etc/mongod.conf /etc/mongod2.conf
vim /etc/mongod2.conf
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /data/mongodb/logs/mongodb2.log //日志文件存放位置,该位置目录需要手动创建,便于管理
# Where and how to store data.
storage:
dbPath: /data/mongodb/mongodb2 //数据文件存放位置,该位置目录需要手动创建,便于管理
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile //pid进程文件位置,在多实例配置文件中,此位置不可更改,需要跟主配置文件一致
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27018 //修改端口号,每一个不同实例独立一个端口号
bindIp: 0.0.0.0 //监听服务IP地址
mkdir -p /data/mongodb/mongodb2 //创建mongodb2数据文件存放目录
cd /data/mongodb
mkdir logs //创建日志文件目录
cd logs
touch mongodb2.logs //创建多实例独立日志文件
chmod 777 mongodb2.logs //权限放大,让MongoDB可以写入日志
mongod -f /etc/mongod2.conf //指定配置文件启动
mongod --port 27018 //进入多实例独立数据库
[root@localhost]# mongoexport -d school -c info -o /opt/school.json
//-d 指定数据库database名称;-c指定集合collection名称;-o指定导出output位置,并命名以json为结尾的文件格式
[root@localhost]# mongoimport -d school -c info1 --file /opt/school.jso
//-d 指定要还原的数据库;-c指定要还原出的表名,不能跟已有的同名;--file指定还原的文件位置
条件操作
[root@localhost]# mongoexport -d school -c info1 -q ‘{"id":{"$eq":10}}‘ -o /opt/school1.json
//条件导出,将school数据库中info1集合中id等于10的行导出
[root@localhost]# mkdir /backup //创建备份文件存放目录
[root@localhost]# mongodump -d school -o /backup/ //备份数据库
[root@localhost backup]# mongorestore -d school2 --dir=/backup/school //恢复数据库,注意不可与现有数据库同名
[root@localhost]# db.copyDatabase("school","school2")
[root@localhost]# mongo --port 27018 //进入实例2数据库
> db.runCommand({"cloneCollection":"school.info","from":"192.168.144.114:27017"})
//将27017实例数据库school中的info集合克隆到本实例中
[root@localhost]# mongo //进入数据库
> db.createUser({"user":"root","pwd":"123","roles":["root"]})
> db.auth("root","123")
> db.currentOp()
显示
"opid" : 337,
> db.killOp(337)
标签:指定 2.0 x86 seve work 增加 数据量 ESS web应用
原文地址:http://blog.51cto.com/13659253/2145030