1 启动项
mongod -help
2 通过conf文件来启动mongo
mongod --config mongodb.conf
mongodb.conf的文件内容
dbpath=D:\MongoDBDATA2
port=8888
3 停止mongodb
1)如果服务器是前台进程运行在终端,ctrl+c可以关闭
2) use admin
db.shutdownServer()
4 导出数据(中断其他操作)
mongoexport
-d 指明使用的库
-c导出的表
-o导出的文件名
-csv制定导出的csv的格式
-q过滤导出
mongoexport -d foobar -c persons -o D:\MongoDB\person.csv
导出其他主机的数据库文档
mongoexport --host 192.168.0.16 --port 27017
2 导入数据(中断其他操作,导入数据的时候会隐式创建表结构) mongoimport
导入到person文件
mongoimport --db foobar --collection persons --file D:\MongoDB\person.csv
3 运行时备份(不会中断操作,但是会漏数据)
mongodump
mongodump --host 127.0.0.1:27017 -d foobar -o D:\MongoDB\foobar
导出后的文件:
4 运行时恢复,会将mongodump的输出数据插入到mongodb实例中(不会中断操作,但是会漏数据)
mongorestore
mongorestore --host 127.0.0.1:27017 -d foobar -directoryperdb D:\MongoDB\foobar\foobar
5 fsync和锁
mongodump和mongorestore能不停机备份,但是却失去了获取实时数据试图的能力,
fsync会强制将缓冲区写入磁盘,还可以上锁阻止对数据库的行一步写入,直到释放锁为止。
上锁
use admin
db.runCommand({"fsync":1,"lock":1})
解锁
db.currentOp()
6 数据修复
db.repairDatabase()
7 添加一个用户
在admin数据库下建立一个账号是root,密码是123的用户
use admin
db.addUser("root","123")
use foobar
db.addUser("foobar_user","123")
db.addUser("foobar_only_user","123",true)
8安全检查--auth
9只有admin的用户才能用show dbs的列举所有数据库
use foobar
db.auth("foobar_user","123")
show dbs
会报错,如下图
改为admin下root账号,则可以使用show dbs命令
use admin
db.auth("root","123");
show dbs
10 查找用户
use admin
db.auth("root","123");
db.system.users.find()