标签:备份与恢复 备份 dha url 配置文件 导出数据 形式 服务器 扩展性
MongoDB基础主机 | 软件包 |
---|---|
CnetOS 7 | mongodb-3.6 |
vim /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/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
vi /etc/mongod.conf
bindIp: 0.0.0.0 #监听地址
port: 27017 #监听端口
auth=true #开启用户认证
systemctl start mongod.service
netstat -anpt | grep 27017
tcp 0 0.0.0.0:27017 0.0.0.0:* LISTEN 3153/mongod
mongo
db.version() #版本号
3.6.6
cp -p /etc/mongod.conf /etc/mongod2.conf
vim /etc/mongod2.conf
path: /data/mongodb/mongod2.log #日志文件存储目录
dbPath: /data/mongodb/mongo #数据存储目录
port: 27018 #端口不可相同
mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongo #创建数据存储目录
touch mongod2.log #创建日志文件存储目录
chmod 777 mongod2.log #提权
mongod -f /etc/mongod2.conf #从第二个配置文件启动(-f:为强制)
mongo --port 27018 #进入
MongoDB的基础操作主要是对数据库、集合、文档的操作,包括创建数据库、删除数据库、插入文档、更改文档、删除文档和查询文档。
操作 | 描述 |
---|---|
show dbs | 查看当前实例下的数据库列表 |
show users | 显示用户 |
use <db_name> | 切换当前数据库 |
db.help() | 显示数据库操作命令 |
show collection | 显示当前数据库的集合 |
db.abc.help() | 显示集合操作命令,abc是当前数据库下的集合 |
db.abc.find() | 对当前数据库中abc集合进行数据查找 |
mongo
use school #使用school数据库
switched to db school
show dbs #查看
school 0.078GB
local 0.078GB
db.dropDatabase() #删除数据库
{"dropped":"school","ok":1}
show dbs #查看
local 0.078GB
1)、 在MongoDB中使用insert()方法向集合中插入文档
例如:在abc集合中插入两个文档;一个插入id为1,名字是"zhangsan";一个插入id为2,名字为"lisi";
db.abc.insert({"id":1,"name":"zhangsan"})
db.abc.insert({"id":2,"name":"lisi"})
2)、在MongoDB中使用update()方法来更新集合中的文档
例如:将abc集合中的id为1,名字为"zhangsan"的文档中的名字更改为"wangwu";
db.abc.update({"id":1},{$set:{"name":"wangwu"}})
3)、在MongoDB中使用remove来移除集合中的数据
例如:将id为2,名字为"lisi"的文档删除;
db.abc.remove({"id":2})
4)、在MongoDB中使用drop()删除集合
例如:将abc集合删除;
db.abc.drop()
可以使用mongoexport和mongoimport命令来导出导入MongoDB的数据;
参数说明:
-d:指明数据库的名字
-c:指明集合的名字
-f:指明要导出的那些列
-o:指明导出的文件名
-q:指明导出数据的过滤条件
1)、数据导出操作
mongoexport -d school -d abc -o /opt/abc.json
#将school数据库中的abc集合中的数据导出到opt中的abc.json文件中
2)、数据导入操作
mongoimport -d school -d abc --file /opt/abc.json
#将opt中的abc.json中的数据导入到school数据库中的abc集合中
可以使用mongodump命令来备份MongoDB数据;mongorestore命令来恢复MongoDB数据;
参数说明:
-h:MongoDB所在的服务器地址
-d:需要备份的数据库实例
-o:备份的数据存放位置,该目录需要提前建立,在备份完成后,系统会自动在dump目录在建立一个test目录,在这么目录里面存放在数据库实例的备份数据。
mkdir /opt/backup #创建备份数据存放目录
mongodump -d school -o /opt/backup #备份
mongorestore -d school1 --dir=/opt/backup/school #恢复
在MongoDB中使用db.copyDatabase命令复制数据库;
db.copyDatabase("school","school2")
#将school数据库进行复制,名为school2
mongod -f /etc/mongod2.conf
mongo --port 27018 #进入第二个实例
db.runCommand({"cloneCollection":"school.abc","from":"192.168.27.128:27017"}) #将第一实例中的school数据库的abc集合克隆到第二个实例中
use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123") #登录
db.currentOp() #查看进程
显示
"opid" : 4827,
db.killOp(4827) #终止进程
标签:备份与恢复 备份 dha url 配置文件 导出数据 形式 服务器 扩展性
原文地址:http://blog.51cto.com/13659182/2146146