[Mongodb]3.2版本的一些基本操作--待续

时间:2023-12-05 21:50:20

一、缘由

  今天公司测试股票交易系统,需要拉取大量的数据存放,故考虑放在mongodb里。

二、一些基本操作

1、权限管理

  mongo默认是不用账号就能登陆的,默认端口27017,但是这不太安全。我们要启用认证登陆。

1)开启安全认证:修改mongo.conf里,security.authorization=enbaled

2)创建管理员用户和普通用户

创建管理员用户:

use admin
db.createUser(
{
user: "myUserAdmin",
pwd: "abc123",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)

创建普通用户:

use admin
db.createUser(
{
user: "myTester",
pwd: "xyz123",
roles: [ { role: "readWrite", db: "test" },
{ role: "read", db: "reporting" } ]
}
)

注意:上述账号认证数据库(authenticationDatabase)都为admin库(也可以为其他库)。

3)重启mongodb,用mongo shell 认证方式登陆

mongo --port 27017 -u "myUserAdmin" -p "abc123" --authenticationDatabase "admin"

或者 登陆后,进行用户授权:

$mongo

$use test
$db.auth("myTester", "xyz123" )

注:mongodb 3.2官方文档:关于管理账号认证,点这里关于配置文件详情,点这里

4)其他账户操作:

前提是 use db;

查询用户权限:db.system.users.find();

查询用户权限2:use reporting(需有reporting库的读权限)

        db.getUser("reportsUser")

删除用户:db.dropUser("user_name");

删除用户(root):db.system.users.remove({user:'user_name'});

更改用户密码:db.changeUserPassword("user_name","password");

关于用户管理函数,点这里

2、CURD操作

关于CURD操作,点这里