http://space.itpub.net/?uid-20498361-action-viewspace-itemid-7194911, 超级用户相关
#进入数据库admin
use admin
#增加或修改用户密码
db.addUser('name','pwd')
#查看用户列表
db.system.users.find()
#用户认证
db.auth('name','pwd')
#删除用户
db.removeUser('name')
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()
2, 增删改
#存储嵌套的对象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
#存储数组对象
db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
#删除yy=5的记录
db.foo.remove({'yy':5})
#删除所有的记录
db.foo.remove()
5, 管理
#查看collection数据的大小
db.deliver_status.dataSize()
#查看colleciont状态
db.deliver_status.stats()
#查询所有索引的大小
db.deliver_status.totalIndexSize()
#启动
./mongod #从命令行,mongod --help可以获取该命令的帮助
#配置(配置文件)
./mongod --config ~/.mongodb.conf #使用配置文件
#停止数据库
(1)若在前台就直接用:Ctrl+c
(2)若知道进程号,直接用kill -2 pid #注意千万不要用kill -9,可能导致数据库数据不一致
(3)使用命令:db.shutdownServer()
# 监控
.使用web页面
mongodb在启动时会启动一个http服务,直接用http://ip:28017就可以看到状态
.通过命令开查看
db.runCommand({"serverStatus" : 1})
.通过外部进程
mongostat
.通过第三方插件
如cacti,nagios等系统
#查看数据库状态
(1) db.runCommand({"serverStatus":1})
(2) $MONGO_HOME/bin/mongostat
6,数据库备份
有4种方法备份数据库
(1) 关闭mongod服务后,复制--dbpath参数指定的数据文件。优点速度快,缺点需要停止mongo服务。
(2) 使用mongodump 导出数据,并用mongorestore 导入数据。优点不需要停止mongo服务,缺点在mongodump操作时用户插入的数据可能无法备份出来。
(3) fsync and lock锁定数据库的让用户只能使用read功能,再使用方法b导出并导入数据。优点不需要停止mongo服务,缺点在数据库lock期间用户无法执行insert操作。
(4) 使用slaveDB并且 使用方法c锁定slaveDB,再使用方法b导出并导入数据。优点不需要停止mongo服务,不会影响用户insert操作(推荐使用此方法)。
7,数据库修护
当数据库文件遭到损坏的时候有3种方法修复数据文件
(1) MONGO_HOME/bin/mongod --repair
(2) use test
db.repairDatabase()
(3) db.runCommand({"repairDatabase":1});
8,查看文档命令
db.<coll>.find()
db.<coll>.findOne()
具体方法可以查看帮助:db.<集合名>.help()
9,如何查看命令的帮助
.打印所有命令列表
db.listCommands()
.显示某个命令的说明
db.commandHelp("isMaster") //查看isMaster这个命令的说明
#进入数据库admin
use admin
#增加或修改用户密码
db.addUser('name','pwd')
#查看用户列表
db.system.users.find()
#用户认证
db.auth('name','pwd')
#删除用户
db.removeUser('name')
#查看所有用户
show users
#查看所有数据库
show dbs
#查看所有的collection
show collections
#查看各collection的状态
db.printCollectionStats()
#查看主从复制状态
db.printReplicationInfo()
#修复数据库
db.repairDatabase()
#设置记录profiling,0=off 1=slow 2=all
db.setProfilingLevel(1)
#查看profiling
show profile
#拷贝数据库
db.copyDatabase('mail_addr','mail_addr_tmp')
#删除collection
db.mail_addr.drop()
#删除当前的数据库
db.dropDatabase()
2, 增删改
#存储嵌套的对象
db.foo.save({'name':'ysz','address':{'city':'beijing','post':100096},'phone':[138,139]})
#存储数组对象
db.user_addr.save({'Uid':'yushunzhi@sohu.com','Al':['test-1@sohu.com','test-2@sohu.com']})
#根据query条件修改,如果不存在则插入,允许修改多条记录
db.foo.update({'yy':5},{'$set':{'xx':2}},upsert=true,multi=true)
#删除yy=5的记录
db.foo.remove({'yy':5})
#删除所有的记录
db.foo.remove()
5, 管理
#查看collection数据的大小
db.deliver_status.dataSize()
#查看colleciont状态
db.deliver_status.stats()
#查询所有索引的大小
db.deliver_status.totalIndexSize()
#启动
./mongod #从命令行,mongod --help可以获取该命令的帮助
#配置(配置文件)
./mongod --config ~/.mongodb.conf #使用配置文件
#停止数据库
(1)若在前台就直接用:Ctrl+c
(2)若知道进程号,直接用kill -2 pid #注意千万不要用kill -9,可能导致数据库数据不一致
(3)使用命令:db.shutdownServer()
# 监控
.使用web页面
mongodb在启动时会启动一个http服务,直接用http://ip:28017就可以看到状态
.通过命令开查看
db.runCommand({"serverStatus" : 1})
.通过外部进程
mongostat
.通过第三方插件
如cacti,nagios等系统
#查看数据库状态
(1) db.runCommand({"serverStatus":1})
(2) $MONGO_HOME/bin/mongostat
6,数据库备份
有4种方法备份数据库
(1) 关闭mongod服务后,复制--dbpath参数指定的数据文件。优点速度快,缺点需要停止mongo服务。
(2) 使用mongodump 导出数据,并用mongorestore 导入数据。优点不需要停止mongo服务,缺点在mongodump操作时用户插入的数据可能无法备份出来。
(3) fsync and lock锁定数据库的让用户只能使用read功能,再使用方法b导出并导入数据。优点不需要停止mongo服务,缺点在数据库lock期间用户无法执行insert操作。
(4) 使用slaveDB并且 使用方法c锁定slaveDB,再使用方法b导出并导入数据。优点不需要停止mongo服务,不会影响用户insert操作(推荐使用此方法)。
7,数据库修护
当数据库文件遭到损坏的时候有3种方法修复数据文件
(1) MONGO_HOME/bin/mongod --repair
(2) use test
db.repairDatabase()
(3) db.runCommand({"repairDatabase":1});
8,查看文档命令
db.<coll>.find()
db.<coll>.findOne()
具体方法可以查看帮助:db.<集合名>.help()
9,如何查看命令的帮助
.打印所有命令列表
db.listCommands()
.显示某个命令的说明
db.commandHelp("isMaster") //查看isMaster这个命令的说明