1,启动服务
使用参数
--dbpath 指定数据文件路径
--logpath 指定错误日志文件
--logappend 错误日志追加方式
--bind_ip 监听ip地址
--port 监听端口
-f 使用参数文件启动
--folk 以守护进程方式后台运行
--syndelay 系统同步刷新磁盘的时间,单位为妙
./mongod --dbpath=/data --logpath=/data/mongo.log --folk --bind_ip=192.168.234.154 --port 999
如果使用参数文件启动,可以自己编写参数文件
vim mongo.conf
dbpath=/data
logpath=/data/mongo.log
for(var i=1;i<10;i++)db.test.save('c':i);
db.test.find();
./mongod -f mongo.conf --folk
2,一些管理工具
bsondump: 将bson格式的文件转储为json格式数据
mongodump/mongoimport 数据导出导入工具
mongofiles: GridFS管理工具,可以实现二进制文件的存取
mongos: 分片路由,如果使用了sharding功能,这应用程序连接的是mongos而不是mongod
mongosniff: 类似于tcpdump工具,只抓取mongdb的数据
mongostat: 实时性监控工具
查看数据空间大小
db.userInfo.dataSize();
> db.pincer.dataSize()
548
6、得到聚集集合总大小
db.userInfo.totalSize();
7、聚集集合储存空间大小
db.userInfo.storageSize();
8、Shard版本信息
db.userInfo.getShardVersion()
9、聚集集合重命名
db.userInfo.renameCollection("users");
将userInfo重命名为users
10、删除当前聚集集合
db.userInfo.drop();
3、得到当前db的所有聚集集合
db.getCollectionNames();
4、显示当前db所有聚集索引的状态
db.printCollectionStats();
1、添加一个用户
db.addUser("name");
db.addUser("userName", "pwd123", true);
添加用户、设置密码、是否只读
2、数据库认证、安全模式
db.auth("userName", "123123");
3、显示当前所有用户
show users;
4、删除用户
db.removeUser("userName");
验证登陆:
mongo --host=ip --port=num -uuser -ppassword dbname
1、查询之前的错误信息
db.getPrevError();
2、清除错误记录
db.resetError();
3、聚集集合重命名
db.userInfo.renameCollection("users");
列出正在执行的操作
db.currentOp(dbname)
杀掉正在实行的操作
db.killOp(opid)
创建一个集合
1,创建一个集合是100 000字节
db.createCollection("mycollection",{capped:true,size:100000})
2,创建一个大小是100000字节,最大文档数是100的集合
db.createCollection("mycollection",{capped:true,size:100000max:100})
强制将缓存区数据,刷新到磁盘
db.runCommand({"fsync":1,"lock":1})
在线备份和恢复
mongodump -d database -o backupdir
mongorestore -d database --drop backupdir
mongo 主从
master:
mongod --bind_ip=192.168.0.1 --port=999 --dbpath=/test --logpath=/test/mongo.log --logappend --master
slave:
mongod --bind_ip=192.168.0.2 --port=998 --dbpath=/test --logpath=/test/mongo.log --logappend --slave --source 192.168.0.1:999
--only 只复制指定的数据库
--slavedelay 从节点延迟,单位是秒
--autoersync 如果从节点与主节点不同步了,则自动重新同步
--oplogSize 主节点oplog大小,单位是M