您的位置:  首页 > 正文

MongoDB_4.4 安装和配置

2021-06-24 00:14 博客园 管理员 次阅读 条评论

MongoDB4.xxx 安装与配置

1、社区版 下载地址 www.mongodb.com/download-center/community ;
"install mongoDB compass" 不勾选;勾选后悔安装这个数据库管理工具;可以自定义目录;其他默认;

2、配置环境变量
安装目录下的 bin 目录 ; 如:C:\z_MongoDB\bin;配置到系统环境变量中(控制面板\系统和安全\系统\高级系统设置\环境变量;
会自动添加到服务中了;重启运行命令 services.msc(window10)打开服务界面,此时已经自动添加到系统服务里面了,每次开机自动重启

3、创建超级管理员账户

use admindb.createUser({    user:'admin',    pwd:'123456',    roles:[{role:'root',db:'admin'}]

})

删除超级账户:db.dropUers('admin');C:\z_MongoDB\bin\mongod.cfg 找到这个配置文件  放开 security表示开启权限验证

这个文件有严格的格式,注意空格(1053错误,无法重启)security:   authorization: enabled注意:authorization 冒号 后面有个空格 去掉或多加一个空格都会报错;

4、用超级管理员账户连接数据库(用命令行)
mongo admin -u 用户名-p 密码
mongo 192.168.1.200:27017/test -u user -p password
其他链接方式:const url = 'mongodb://admin:123456@localhost:27017/';

5、使用超级管理员登录后,给某个数据库单独创建用户名,密码,及权限

use 数据库名db.createUser({   user:"eggadmin",   pwd:"123456",   roles:[{role:"dbOwner",db:"eggcms"}] 

})

6、数据库角色分类
(1)数据库用户角色:read、readWrite;
(2)数据库管理角色:dbAdmin、dbOwner、userAdmin;
(3)集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
(4)备份恢复角色:backup、restore;
(5)所有数据库角色: readAnyDatabase、readWriteAnyDatabase、    userAdminAnyDatabase、dbAdminAnyDatabase
(6)超级用户角色:root

7、基本管理命令
1、show users;                               // 查看当前库下的用户
2、db.dropUser("eggadmin")                   // 删除用户
3、db.updateUser("admin",{pwd:"password"});  // 修改用户密码
4、db.auth("admin","password");              // 密码认证 (数据库设置了密码,要认证后才能连接成功)
5、show tables                               // 列出该库下所有表

8、导出与恢复
MongoDB 4.4版本 之后 MongoDB数据库工具现在与MongoDB服务 分开发布 需要单独安装
1. 下载地址
2. windwos 下载后解压,配置到环境变量 path 中,然后就可以使用 mongodump、 mongorestore、 mongoimport、 mongoexport 命名来备份了
3. 在导入其他人的库后,应该清空 -->该库下的用户 -->再创建用户后再链接;

备份单个表mongodump -u  superuser -p 123456  --port 27017 --authenticationDatabase admin -d myTest -c d -o /backup/mongodb/myTest_d_bak_201507021701.bak备份单个库mongodump  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest -o  /backup/mongodb/备份所有库mongodump  -u  superuser -p 123456 --authenticationDatabase admin  --port 27017 -o /root/bak 备份所有库推荐使用添加--oplog参数的命令,这样的备份是基于某一时间点的快照,只能用于备份全部库时才可用,单库和单表不适用:mongodump -h 127.0.0.1 --port 27017   --oplog -o  /root/bak 同时,恢复时也要加上--oplogReplay参数,具体命令如下(下面是恢复单库的命令):mongorestore  -d swrd --oplogReplay  /home/mongo/swrdbak/swrd/恢复单个库:mongorestore  -u  superuser -p 123456 --port 27017  --authenticationDatabase admin -d myTest   /backup/mongodb/恢复所有库:mongorestore   -u  superuser -p 123456 --port 27017  --authenticationDatabase admin  /root/bak恢复单表mongorestore -u  superuser -p 123456  --authenticationDatabase admin -d myTest -c d /backup/mongodb/myTest_d_bak_201507021701.bak/myTest/d.bson注意:

      1.mongorestore恢复数据默认是追加,如打算先删除后导入,可以加上--drop参数,不过添加--drop参数后,会将数据库数据清空后再导入,如果数据库备份后又新加入了数据,也会将新加的数据删除,它不像mysql有一个存在的判断

      2.mongodump在mongo关闭时,也是可以备份的,不过需要指定数据目录,命令为:mongodump  --dbpath  /data/db

9、mongodump与mongoexport的区别:

      1. mongodump导出的是bson格式,是二进制形式,不过可以使用mongo自带的bsondump命令查看里面的数据,而mongoexport导出的则是文本,可以是csv、json格式。    

      2. JSON可读性强但体积较大,BSON则是二进制文件,体积小但对人类几乎没有可读性。      3. 在一些mongodb版本之间,BSON格式可能会随版本不同而有所不同,所以不同版本之间用mongodump/mongorestore可能不会成功,具体要看版本之间的兼容性。         当无法使用BSON进行跨版本的数据迁移的时候,使用JSON格式即mongoexport/mongoimport是 一个可选项。跨版本的mongodump/mongorestore个人并不推荐,实在要做请先检查文档看两个版本是否兼容(大部分时候是的)

      4. JSON虽然具有较好的跨版本通用性,但其只保留了数据部分,不保留索引,账户等其他基础信息。使用时应该注意。
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接