Mongodb4.2 安装及配置 2020-08-14

[toc]

Mongodb4.2 安装及配置

Windows MongoDB4.2.0安装配置教程

  1. 下载(地址如下)

  2. 安装MongoDB及创建文件夹和文件

  3. 启动MongoDB

  4. 设置管理员账号(重新打开一个cmd窗口)

  5. 通过配置文件启动MongoDB服务

1、下载(地址如下)

https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2012plus-4.2.0-signed.msi

安装时注意:取消勾选 「Install MonogoDB Compass」,后点击「Next」。MonogoDB Compass是连接mongodb库的客户端。

2、安装MongoDB及创建文件夹和文件

  • 直接双击软件运行安装

  • 安装过程中,你可以通过点击 “Custom(自定义)” 按钮来设置你的安装目录。(我是安装在D:\MongoDB目录下的)

  • 在D:\MongoDB目录下创建data、log,data目录下创建db文件夹,log目录下创建mongod.log文件(有则无需创建)

3、启动MongoDB

进入D:\MongoDB\bin目录下,在地址框输入cmd命令回车,然后输入如下命令启动MongoDB

mongod.exe --dbpath D:\MongoDB\data\db

4、设置管理员账号(重新打开一个cmd窗口)

进入mongo

mongo --port 27017

创建管理员用户

# 进入数据库
use admin

# 创建一个用户名root,密码123456的管理员用户
db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

退出Mongo

# 退出mongo
exit

# 使用用户名密码登录
mongo --port 27017 -u root -p 123456 --authenticationDatabase admin

5、通过配置文件启动MongoDB服务

进入D:\MongoDB\bin 目录下,打开mongod.cfg文件,添加
security:
authorization: enabled ,保存

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: D:\MongoDB\data
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path:  D:\MongoDB\log\mongod.log

# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1
  bindIp: 0.0.0.0
# security:是开启认证,必须通过用户名和密码才能登陆系统
security:
  authorization: enabled

#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:
#mp:

以管理员启动CMD,进入到D:\MongoDB\bin目录下

.\mongod.exe --config D:\MongoDB\bin\mongod.cfg --install --serviceName "MongoDB"

#如果报错:
Unrecognized option: mp
try 'mongod.exe --help' for more information
#打开bin\mongod.cfg,注释最后一行mp:
#mp:

启动MongoDB服务

net start MongoDB
net stop MongoDB #关闭Mongo服务

验证权限的两种方式:

  • 连接实例的时候就验证
  • 连接实例之后,使用数据库的时候验证

尝试登录Mongo: 连接实例的时候就验证

mongo --port 27017 -u root -p 123456 --authenticationDatabase admin

如果尝试登录再次失败:

# 1、启动mongodb
# 启动方式:进入D:\MongoDB\bin目录下,在地址框输入cmd命令回车,然后输入如下命令启动MongoDB
mongod.exe --dbpath D:\MongoDB\data\db

# 进入mongo,重新打开一个cmd窗口
mongo --port 27017

# 切换至admin超级管理员
use admin

# 创建一个用户名root,密码123456的管理员用户
db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
  }
)

#授权
db.auth("root", "123456" )

#退出mongo
exit

#尝试登录Mongo
mongo --port 27017 -u root -p 123456 --authenticationDatabase admin

尝试登录Mongo: 连接实例之后,使用数据库的时候验证

# 进入mongo,重新打开一个cmd窗口
mongo --port 27017

#验证:返回 1 验证成功
use admin
db.auth("root", "123456" )

6、mongodb 创建新的用户:

# 1、启动mongodb
# 启动方式:进入D:\MongoDB\bin目录下,在地址框输入cmd命令回车,然后输入如下命令启动MongoDB
mongod.exe --dbpath D:\MongoDB\data\db

# 进入mongo,重新打开一个cmd窗口
mongo --port 27017

#验证:返回 1 验证成功
use admin
db.auth("root", "123456" )
#验证成功后就可以给其他数据库创建用户授权
#创建或切换库 omsdb,此处创建验证库
use omsdb
#创建用户,授权和绑定库,验证库为上面创建的的omsdb
db.createUser(
  {
    user: "oms",
    pwd: "Passw0rd",
    roles: [ { role: "dbOwner", db: "omsdb" } ]
  }
)

#创建成功后断开实例连接
exit

#测试新创建的用户 登录验证
mongo --port 27017 -u oms -p Passw0rd --authenticationDatabase omsdb

#创建/切换库至dukedb
use omsdb

#查看当前库
db

# 插入一行数据,保证工具能够连接mongo
db.foo.insert( { x: 1, y: 1 } )

项目应用:

# 用 超级用户登录 Robo 连接mongo库
# 执行命令-切换至admin库
use admin
db.auth("admin", "pass")
# 创建用户
db.createUser(
  {
    user: "test",
    pwd: "pass",
    roles: [ { role: "dbOwner", db: "test" } ]
  }
)

# 使用新创建的用户登录
用户密码:test/pass 权限认证库:admin

Mongo查看操作:

# 进入mongo,重新打开一个cmd窗口
mongo --port 27017

#权限验证
use admin
db.auth('root','123456')

#查看全局所有账户
db.system.users.find().pretty()

#查看当前库下所有账户
show users
# 删除当前库的某个用户
db.dropUser("username")

#查看所有库
show dbs
# 删除当前库 查看:show dbs,db  
db
db.dropDatabase()   # 需要用户有删除库的权限

7、注意:Robo 3T-1.3才能支持MongoDB 4.X

Robo 3T 连接报错:

#报错信息
Error: Network error while attempting to run command 'saslStart' on host '12

#解决方式:
Robo 3T-1.3才能支持MongoDB 4.X

#安装Robo 3T-1.3
https://www.robomongo.org/download

8、数据库备份还原

# 备份库
# 不开启权限验证备份库
mongodump -h 127.0.0.1:27017 -u dbname -p pass --archive=C:\DatabaseBackup\mongo\dbname_20200511.gz --gzip --db dbname
# 开启权限验证备份库
mongodump -h 127.0.0.1:27017 --authenticationDatabase admin -u dbname -p dist2019 --archive=C:\DatabaseBackup\mongo\dbname_20200511.gz --gzip --db dbname

# 还原库
# 新库与旧库名称一致情况
mongorestore -h 127.0.0.1:27017 --authenticationDatabase admin -u username -p pass --archive=C:\DatabaseBackup\mongo\dbname_20200511.gz --gzip --db dbname
# 新库与旧库名不一致情况
# 关闭mongo认证权限导入备份数据库方式  旧库:dbname  新库:new_dbname
mongorestore -h 127.0.0.1:27017 --username=new_username --password=pass --gzip --archive=C:\DatabaseBackup\mongo\dbname_20200511.gz --nsFrom "dbname.*" --nsTo "new_dbname.*"  --nsInclude "*"
# 开启mongo认证权限导入备份数据库方式
mongorestore -h 127.0.0.1:27017 --username=new_username --password=pass --authenticationDatabase=admin --gzip --archive=C:\DatabaseBackup\mongo\dbname_20200511.gz --nsFrom "dbname.*" --nsTo "new_dbname.*"  --nsInclude "*"
    
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,013评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,205评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,370评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,168评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,153评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,954评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,271评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,916评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,382评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,877评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,989评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,624评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,209评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,199评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,418评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,401评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,700评论 2 345