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:})
这样就会生成一个新的日志文件。