链接其它主机的mongodb 数据库服务
G:\mongodb\bin>mongo 192.168.102.208:27017/abc
db.student.save({name:'wangwu',age:22,address:'郑州',phone:'13014577033'});
功能是从192.168.102.208主机上把abc数据库复制到本地名为abc1
>db.copyDatabase('abc', 'abc1', '192.168.102.208');
安全
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth
允许本地无账号密码,可以访问数据库,安全模式会有一个admin特殊的数据库
建立账号 在admin数据库下建立的账号是超级管理员
use admin;
>db.addUser('admin','123');
>db.addUser('root','root',true); 只读账号,
超管理登录
G:\mongodb\bin>mongo localhost:27017/admin -u admin -p 111
G:\mongodb\bin>mongo
>use admin;
>db.auth('admin','111');
查看用户列表:
用户信息存储在每个数据库的system.users集合。例如数据库projectX中的用户存储在projectX.system.users集合。
> db.system.users.find()
删除一个账号
>use admin;
>db.removeUser('a');
>db.system.users.remove( { user:'username'} )
修改密码
db.addUser("admin", "admin新密码");
> use shop
switched to db shop
> db.addUser('user','shop'); 给shop数据库建立的超级管理员
{
"user" : "user",
"readOnly" : false,
"pwd" : "1ec030ff51ab9b135702daaa20862a90",
"_id" : ObjectId("526c751d93bdcc1d5ad5b679")
}
> use shop
switched to db shop
> db.addUser('root','root',true); 给shop数据库建立的 只读管理员
{
"user" : "root",
"readOnly" : true,
"pwd" : "2a8025f0885adad5a8ce0044070032b3",
"_id" : ObjectId("526c753393bdcc1d5ad5b67a")
}
>mongo localhost:27017/shop -u user -p shop 登录后,只能对shop数据库操作
>mongo localhost:27017/shop -u root -p root 登录后,只能查询,查看
>use shop;
> db.system.users.find(); 当前是查询shop数据库的所有账号信息。
db.auth('user','shop'); shop数据库的超级管理员
或
use admin;
db.auth('admin','admin'); 此时是系统超级管理用户。
-- 安全是,只能本机才可能链接服务
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip localhost
关闭http://localhost:28017 http管理服务器
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip localhost --nohttpinterface
G:\mongodb\bin>mongod --dbpath g:\mongodb\data --auth --bind_ip 192.168.102.10
登录
use admin; 在admin数据库中建立账号为管理员
db.addUser('aa','123'); 不推荐使用
db.addUser('aa','123',true); 只能读取的管理员
新建立用户的方法
进入use db 建立只读管理员
db.createUser({user:"rr",pwd:"rr",roles:[{role:"read",db:"db"}]});
roles的类型:
"role" : "dbAdmin",
"db" : "test",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
"role" : "dbOwner",
"db" : "test",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
"role" : "read",
"db" : "test",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
"role" : "readWrite",
"db" : "test",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
"role" : "userAdmin",
"db" : "test",
"isBuiltin" : true,
"roles" : [ ],
"inheritedRoles" : [ ]
给数据库db建立管理员
db.createUser({user:"aa",pwd:"aa123",roles:[{role:"dbOwner",db:"db"}]});
登录
mongo localhost:27017/db -u aa -p aa123
验证方法
use db;
db.auth('aa','aa123');
建立超级管理员
db.createUser({user:"test",pwd:"test123",roles:[{role:"root",db:"admin"}]});
登录
mongo localhost:27017/admin -u test -p test123
use admin;
db.auth('test','test123');
db.removeUser('aa'); 不推荐使用
db.dropUser('aa'); 推荐使用
直接连接账号密码地址 登录服务器
mongo localhost:27017/admin -u aa -p 123