一、 创建用户
mongodb 默认不开启认证 ,先创建超级管理员(可创建管理用户)
启动mongodb ,
--****************mongodb 3.0 没有admin库,添加admin库,创建超级管理员
不以认证模式启动mongodb数据库
./mongo 登陆
use admin
db.auth("admin","admin");
--************为local db 创建用户,注意要先use admin下再创建,不能直接use local > 创建local用户
use admin
db.createUser(
{
user: "local",
pwd: "local",
roles: [
{ role: "dbOwner", db: "local" },
{ role: "readWrite", db: "local" }
]
}
)
db.auth("local","local");
二、开启mongodb 安全认证 --auth
./mongod --dbpath=/root/mongodb-linux-x86_64-3.0.0/data/ --fork --logpath=/root/mongodb-linux-x86_64-3.0.0/logs/mongodb.log --logappend --httpinterface --directoryperdb --journal --auth
登陆 ( 注意 :是否启动bind_ip ,以及防火墙配置 )
1. 本地登录
cd 到 mongodb 的bin目录下
[root@localhost bin]# lsbsondump mongod mongoexport mongoimport mongoperf mongos mongotop
mongo mongodump mongofiles mongooplog mongorestore mongostat
[root@localhost bin]# ./mongo
MongoDB shell version: 3.0.0
connecting to: test
> use local
switched to db local
> db.auth("local","local")
Error: 18 Authentication failed.
0
> use admin
switched to db admin
> db.auth("local","local");
1
> show collections
local
new_test_col
system.indexes
system.users
system.version
> show users
2015-07-21T23:00:05.938-0400 E QUERY Error: not authorized on admin to execute command { usersInfo: 1.0 }
at Error (<anonymous>)
at DB.getUsers (src/mongo/shell/db.js:1307:15)
at shellHelper.show (src/mongo/shell/utils.js:615:12)
at shellHelper (src/mongo/shell/utils.js:524:36)
at (shellhelp2):1:1 at src/mongo/shell/db.js:1307
> use local
switched to db local
> show collections
article_test_20150722
local
new_test_col
startup_log
system.indexes
>
2. 远程登陆 需按照mongodb
mongodb 的服务器IP : 192.168.0.43
远程登陆的服务器IP : 192.168.0
./mongo 192.168.0.43/admin -ulocal -plocal
[root@localhost bin]# ls
bsondump mongod mongoexport mongoimport mongoperf mongos mongotop
mongo mongodump mongofiles mongooplog mongorestore mongostat
[root@localhost bin]# ./mongo 192.168.0.43/admin -ulocal -plocal
MongoDB shell version: 3.0.0
connecting to: 192.168.0.43/admin
> show collections
local
new_test_col
system.indexes
system.users
system.version
> use local
switched to db local
> show collections
article_test_20150722
local
new_test_col
startup_log
system.indexes
>
3. 用图形化工具连接mongodb
个人试验的小结: 不开启认证能连接,但mongodb开启用户认证,就怎么也连接不上去,查了好多资料也没搞清楚。