首页 > 代码库 > [ Mongodb ] 问题总汇

[ Mongodb ] 问题总汇

1. Mongodb备份

[root@localhost ~]# mongodump  -h 192.168.1.122 -d users -o /backup/20170228/users

2. Mongodb恢复

[root@localhost ~]# mongorestore -h 192.168.1.122 -d users /backup/20170228/users/users/

3. Mongodb重名集合名

格式:# db.copyDatabase("from database","to database","from host:port");

rs0:PRIMARY> db.copyDatabase(users,person,192.168.1.122:27019)  
{ "ok" : 1 }
rs0:PRIMARY> show dbs
local   0.006GB
person  0.000GB
users   0.000GB
rs0:PRIMARY> use users
switched to db users
rs0:PRIMARY> db.dropDatabase()
{ "dropped" : "users", "ok" : 1 }

4. Mongdb副本集权重问题

    Mongdb前端添加haproxy做HA,当一台mongodb服务down掉,proxy可以连接到另一台服务上,因为mongodb初始化权重一样的,因此需要修改权重来确定冗余节点。

    mongodb权重越大,就越优先为主节点

rs0:PRIMARY> config=rs.conf()
rs0:PRIMARY> config.members[0].priority = 10
rs0:PRIMARY> config.members[1].priority = 9
rs0:PRIMARY> config.members[2].priority = 8
rs0:PRIMARY> rs.reconfig(config)

这些操作必须在Primary上进程。

5. Mongdb日志过大问题


MongoDB的日志文件在设置 logappend=true 的情况下,会不断向同一日志文件追加的,时间长了,自然变得非常大。
解决如下:(特别注意:启动的时候必须是--logpath指定了log路径的)

rs0:PRIMARY> use admin
rs0:PRIMARY> db.runCommand({logRotate:1})

这样就会生成一个新的日志文件。

[ Mongodb ] 问题总汇