1. Mongodb备份

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

2. Mongodb恢复

[root@localhost ~]# mongorestore -h 192.168.1.122 -d users /backup//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" : }
rs0:PRIMARY> show dbs
local .006GB
person .000GB
users .000GB
rs0:PRIMARY> use users
switched to db users
rs0:PRIMARY> db.dropDatabase()
{ "dropped" : "users", "ok" : }

4. Mongdb副本集权重问题

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

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

rs0:PRIMARY> config=rs.conf()
rs0:PRIMARY> config.members[].priority =
rs0:PRIMARY> config.members[].priority =
rs0:PRIMARY> config.members[].priority =
rs0:PRIMARY> rs.reconfig(config)

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

5. Mongdb日志过大问题

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

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

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

05-12 02:26