官网下载mongo最近版本
ls ~/workspace
mongodb-linux-x86_64-rhel70-4.0.3.tgz
解压文件
tar -zxvf mongodb-linux-x86_64-rhel70-4.0.3.tgz
将文件移动到安装目录
mv mongodb-linux-x86_64-rhel70-4.0.3 /soft/
切换到 /soft 安装目录
创建 符号链接 mongodb --> mongodb-linux-x86_64-rhel70-4.0.3.tgz
ln -s mongodb-linux-x86_64-rhel70-4.0.3/ mongodb
环境变量添加如下
vim /etc/profile
export MONGO_DB_HOME=/soft/mongodb
export PATH=$PATH:$MONGO_DB_HOME/bin
启动mongo
通过配置文件启动
./bin/mongod --config mongo.conf
配置文件内容
logpath=./data/log/mongo.log
logappend=true
dbpath= ./data/db
fork= true
auth= true
port = 27017
bind_ip = 0.0.0.0
登录到mongo客户端
./bin/mongo
>use admin //切换到 admin
>db.createUser({user:'root',pwd:'root',roles:['userAdminAnyDatabase']}) //创建root用户
>show dbs // 提示错误 command listDatabases requires authentication 需要认证
>db.auth('root','root') //认证
添加用户名和密码(目前测试的)
>db.createUser({user:'admin',pwd:'123456',roles:['userAdminAnyDatabase']})
role类型:
readAnyDatabase 任何数据库的只读权限(和read相似)
readWriteAnyDatabase 任何数据库的读写权限(和readWrite相似)
userAdminAnyDatabase 任何数据库用户的管理权限(和userAdmin相似)
dbAdminAnyDatabase 任何数据库的管理权限(dbAdmin相似)
springboot 启动报异常 - 提示权限不够
The full response is { "ok" : 0.0, "errmsg" : "not authorized on admin to execute command { update: \"customer\", ordered: false, $db: \"admin\" }", "code" : 13, "codeName" : "Unauthorized" }
at com.mongodb.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:115)
链接 201 是ok 的,应该是 mongo配置的问题吧
发现在客户端创建集合也是有问题的
解决方式 - 重新建一个给读写权限。
use test //新建 数据库 test
db.createUser({user:'river',pwd:'123456',roles:['readWrite']}) // 新建用户 penglai给用户 readWrite 权限
db.auth('river','123456')
> db.createCollection("aaa") // 创建集合成功
{ "ok" : 1 }
springboot 配置如下 就ok 了
data:
mongodb: