推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

翻历史笔记系统性梳理笔记,搬到CSDN上解压下好的压缩包

   2023-06-08 网络整理佚名1810
核心提示:然后我们就有了一个//-xxx文件夹,之后的配置都是在这个文件夹下进行安装好第一次启动,是不需要密码的,这时候也没有任何用户,我们可以使用以下命令启动:然后在内置的交互界面中,输入以下命令,创建用户:添加完管理用户后,你需要关闭,基于用户名和密码重新启动,注意应该是在交互界面中使用**db.然后修改配置文件,在里面添加:密码不能包含特殊字符在登录的时候有几套密码验证机制:

介绍

翻历史笔记的时候发现的,21年整理出来的。 趁着这次系统整理笔记,我把它搬到了CSDN上。

解压

下载好的压缩包,比如我下载的-linux--3.4.2.tgz是找路径的,我都放在了/目录下。

然后进入上面的目录解压:

 tar -zxvf  -C .

然后我们有一个//-xxx文件夹,后面的配置都在这个文件夹下进行

创建配置文件

有点麻烦。 我在网上看到它需要手动创建几个配置文件,包括数据库文件夹,日志文件夹等,如果不创建,第一次运行会报错,因为这些文件夹不会自动创建。

首先创建一个数据库文件夹,用来放数据库信息。

cd /software/mongodb-xxx
mkdir data/

然后创建日志文件夹:

cd /software/mongodb-xxx
mkdir logs/

最后创建主配置文件夹和主配置文件:

cd /software/mongodb-xxx
mkdir etc/
cd etc/
vi mongodb.conf

然后填充主配置文件,其中提供了各种配置文件:

dbpath=/software/mongodb-xxx/data
logpath=/software/mongodb-xxx/logs/mongodb.log
port=27017
fork=truejournal=false
storageEngine=mmapv1

稍后将讨论参数定义。

27017 应该是默认的监听端口。

首次启动

安装后,首次启动不需要密码。 此时,没有用户。 我们可以使用如下命令启动:

./mongod -f /software/mongodb-xxx/mongodb.conf

启动后,我们需要进入后台,添加管理用户,(这个角色没有无敌用户root,只有一个可以管理用户的用户角色,)。

首先进入shell(进入安装文件夹的bin目录):

mongo

然后在内置的交互界面中,输入以下命令创建用户:

use admin
db.createUser( {user: "wadmin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});

成功后,你会看到,

表示已经创建用户。上面是我从参考1中盗用的图,因为安装过程中没有截图

创建用户后,可以使用show users或**db..users.find()**查看现有用户。

添加管理用户后,需要关闭并根据用户名和密码重新启动。 注意在交互界面应该使用**db.()**关闭,不要使用kill直接杀掉进程。 (如果这样做,请进入data/db目录,删除mongo.lock文件)

然后修改配置文件,在里面添加:

auth=true

重新开始:

./mongod -f /software/mongodb-xxx/mongodb.conf

输入 Mongo shell:

./mongo

再次登录admin数据库,进行用户认证:

use admin
db.auth("wadmin", "123456")

返回 1 表示认证成功。

添加环境变量

将路径添加到系统路径中,并使mongo成为软链接

问题

有一个小问题。 执行db.()关闭服务时,会提示错误:

解决方法是为当前用户添加权限:

db.updateUser(
 "wadmin",
        {
           roles : [
                     {"role" : "userAdminAnyDatabase","db" : "admin"},
                     {"role" : "dbOwner","db" : "admin"},                     {"role" : "clusterAdmin", "db": "admin"}
                   ]
        }
 )

然后(),如果出现上面的提示就正常了。

或用于关闭它。

然后重启。

客户端和服务器端版本问题

通常来说是向下兼容的,也就是说支持客户端版本高于服务端版本,反之,如果客户端版本较低,则可能会出现问题。

密码不能包含特殊字符

否则,它可能会报告“SASL 步骤:”

参考:

- 授权验证错误:SASL step:

验证是否启动,可以输入命令:

lsof -i :27017

检查端口是否已被使用。

常用命令

show databases;		# 展示当前已有数据库
use db_name;	# 切换到指定数据库
show users;		# 显示当前数据库下所有账户
db.system.users.find().pretty();		# 显示当前数据库下所有账户(详细信息,含认证方式等)
db.dropUser("用户名");		# 删除指定用户
quit();		# 退出数据库后台,即Mongo shell
exit;		# 功能同上
db;			# 显示当前使用的数据库

其他认证机制

登录时有几套密码验证机制:

需要注意的是这个参数只能在数据库启动的时候指定!

mongod --setParameter authenticationMechanisms=PLAIN,SCRAM-SHA-256 --auth

如何查看当前启动的是什么验证方式?

use admin
db.system.version.findOne({"_id":"authSchema"})

例子

mongoexport -h 127.0.0.1:27017 -u xxx -p xxx --db volcano --collection content --out temp.csv --authenticationDatabase=volcano --type=csv -f "_id,sourceId,coverImage.0.code"

如果需要导出csv文件,必须指定–type=csv,否则默认还是导出json;

参考资料 Linux下安装配置 用户和数据库管理命令详解 菜鸟教程-官网下载地址

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON