热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

新手小白Linux(Centos6.5)部署javaweb项目(mongodb4.0.2安装及相关操作)

红帽企业或CentOS的Linux上安装MongoDB的社区版:https:docs.mongodb.commanualtutorialinstall-mongodb-on-red-ha
红帽企业或CentOS的Linux上安装MongoDB的社区版:

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/

 

 一、安装 

  1、配置yum源,在yum源目录下创建一个文件 mongodb-org-4.0.repo

vi /etc/yum.repos.d/mongodb-org-4.0.repo

 

  2、编辑文件:把下面内容复制进去


[mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=0 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

   这个内容在官网上复制的时候别在开着翻译的情况下复制,你会爆炸的

  官网gpgcheck=1,表示对从这个yum源下载的rpm包进行校验,配合gpgkey(校验密匙获取地址)使用

  不过……貌似这个校验不能用,我试过1的时候报错了……

 

  3、安装

yum install -y mongodb-org

   4、启动

service mongod start

   5、登录

    mongodb默认登录无认证,直接进

mongo

 

 

二、导入导出数据(mongodb更新很快,高版本和低版本的命令有很多改动的地方,还请读者看准自己用的版本到官网上找到最正确的命令)

  官网文档:https://docs.mongodb.com/manual/reference/program/mongoimport/#options

  1、下载可视化工具,使用工具进行导入导出

  http://www.mongoing.com/archives/3651

 

  导入导出命令都是在登录mongo之前进行的操作,从系统命令行运行,而不是在登录mongo后的shell里面。

 

  2、查看导入的参数信息:

mongoimport --help

  3、命令简单导入:

mongoimport --db test --collection role --file role.json

  4、查看导出的参数信息:

mongoexport --help

  5、简单导出

mongoexport --db test --collection role --out role.json

 

  导出的参数和导入是基本相同的,mongodb4.0版本和以前的版本相当于是换了一种认证机制。

  个人建议:不要在导入之前给mongodb开启身份认证,默认无用户名密码可登录是最方便的。弄好一切之后再根据实际情况看看要不要开户认证机制。

  

三、mongo中GridFS对象的导入导出

  使用GridFS来存储大型文件是一个很好的选择,但是这个库和上面的库的导入导出不一样。因为文件是以二进制的形式存储的,应该使用二进制文件的形式进行导入导出。上面的库使用的是json或csv的形式。

  存储文件的这个库有且只有两个指定的文档:userfiles.files,userfiles.chunks

  1、导入


mongorestore --db test-db --collection userfiles.files /路径/userfiles.files.bson mongorestore --db test-db --collection userfiles.chunks /路径/userfiles.files.bson

 

  2、导出


mongodump --db test-db --collection userfiles.files --out ./userfiles mongodump --db test-db --collection userfiles.chunks --out ./userfiles

 

  这种导入导出的方法适用于所有的库,不局限于GridFS

 

四、安全认证

  认证机制最后再开,可以避免许多问题

  1、创建用户

 1 // 至少需要添加一个用户,且一定要添加一个root用户,否则认证开启失败,因为开启后你都没用户登录,那不是很尴尬
 2 > use admin
 3 switched to db admin
 4 > db.createUser({user:"root",pwd:"root_pwd",roles:[{role:"root",db:"admin"}]});
 5 Successfully added user: {
 6         "user" : "root",
 7         "roles" : [
 8                 {
 9                         "role" : "root",
10                         "db" : "admin"
11                 }
12         ]
13 }
14 > use userfiles
15 switched to db userfiles
16 > db.createUser({user:"user_name",pwd:"user_pwd",roles:[{role:"dbOwner",db:"userfiles"}]});
17 Successfully added user: {
18         "user" : "user_name",
19         "roles" : [
20                 {
21                         "role" : "dbOwner",
22                         "db" : "userfiles"
23                 }
24         ]
25 }
26 > exit

 

  2、开启安全认证

    编辑文件:/etc/mongod.conf ,把 security: 前面的#号去掉,在下面保留两个缩进加上一行 authorization: enabled ,enabled 和:之间要有一个空格,我也不知道为什么

    重启mongo服务

 1 vi /etc/mongod.conf 
 2 # mongod.conf
 3 
 4 # for documentation of all options, see:
 5 #   http://docs.mongodb.org/manual/reference/configuration-options/
 6 
 7 # where to write logging data.
 8 systemLog:
 9   destination: file
10   logAppend: true
11   path: /var/log/mongodb/mongod.log
12 
13 # Where and how to store data.
14 storage:
15   dbPath: /var/lib/mongo
16   journal:
17     enabled: true
18 #  engine:
19 #  mmapv1:
20 #  wiredTiger:
21 
22 # how the process runs
23 processManagement:
24   fork: true  # fork and run in background
25   pidFilePath: /var/run/mongodb/mongod.pid  # location of pidfile
26   timeZoneInfo: /usr/share/zoneinfo
27 
28 # network interfaces
29 net:
30   port: 27017
31   bindIp: 127.0.0.1  # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
32 
33 # 原来长这样:
34 # security:
35 # 改成这样
36 security:
37   authorization: enabled
38 
39 #setParameter:
40 #  authenticationMechanisms: SCRAM-SHA-1
41 
42 #auth: true
43 
44 #operationProfiling:
45 
46 #replication:
47 
48 #sharding:
49 
50 ## Enterprise-Only Options
51 
52 #auditLog:
53 
54 #snmp:
55 ~
56 ~
57 ~
58 ~
59 "/etc/mongod.conf" 51L, 935C written
60 
61 service mongod restart
62 Starting mongod:                                           [  OK  ]

 

  3、重新登录,测试安全认证

 1 # mongo  2 MongoDB shell version v4.0.2
 3 connecting to: mongodb://127.0.0.1:27017
 4 MongoDB server version: 4.0.2
 5 // 这个时候你虽然进来了,但你还没认证,你是没有任何权限的
 6 > show dbs
 7 2018-09-14T16:15:21.985+0800 E QUERY    [js] Error: listDatabases failed:{
 8         "ok" : 0,
 9         "errmsg" : "command listDatabases requires authentication",
10         "code" : 13,
11         "codeName" : "Unauthorized"
12 } :
13 _getErrorWithCode@src/mongo/shell/utils.js:25:13
14 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:67:1
15 shellHelper.show@src/mongo/shell/utils.js:876:19
16 shellHelper@src/mongo/shell/utils.js:766:15
17 @(shellhelp2):1:1
18 
19 > use admin
20 switched to db admin
21 > db.auth("root","root_pwd")
22 1
23 > show dbs
24 admin   0.000GB
25 config  0.000GB
26 local   0.000GB

推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 本文介绍了计算机网络的定义和通信流程,包括客户端编译文件、二进制转换、三层路由设备等。同时,还介绍了计算机网络中常用的关键词,如MAC地址和IP地址。 ... [详细]
  • flowable工作流 流程变量_信也科技工作流平台的技术实践
    1背景随着公司业务发展及内部业务流程诉求的增长,目前信息化系统不能够很好满足期望,主要体现如下:目前OA流程引擎无法满足企业特定业务流程需求,且移动端体 ... [详细]
  • RouterOS 5.16软路由安装图解教程
    本文介绍了如何安装RouterOS 5.16软路由系统,包括系统要求、安装步骤和登录方式。同时提供了详细的图解教程,方便读者进行操作。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Centos下安装memcached+memcached教程
    本文介绍了在Centos下安装memcached和使用memcached的教程,详细解释了memcached的工作原理,包括缓存数据和对象、减少数据库读取次数、提高网站速度等。同时,还对memcached的快速和高效率进行了解释,与传统的文件型数据库相比,memcached作为一个内存型数据库,具有更高的读取速度。 ... [详细]
  • 安装mysqlclient失败解决办法
    本文介绍了在MAC系统中,使用django使用mysql数据库报错的解决办法。通过源码安装mysqlclient或将mysql_config添加到系统环境变量中,可以解决安装mysqlclient失败的问题。同时,还介绍了查看mysql安装路径和使配置文件生效的方法。 ... [详细]
  • 本文介绍了在Python3中如何使用选择文件对话框的格式打开和保存图片的方法。通过使用tkinter库中的filedialog模块的asksaveasfilename和askopenfilename函数,可以方便地选择要打开或保存的图片文件,并进行相关操作。具体的代码示例和操作步骤也被提供。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 基于dlib的人脸68特征点提取(眨眼张嘴检测)python版本
    文章目录引言开发环境和库流程设计张嘴和闭眼的检测引言(1)利用Dlib官方训练好的模型“shape_predictor_68_face_landmarks.dat”进行68个点标定 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文详细介绍了git常用命令及其操作方法,包括查看、添加、提交、删除、找回等操作,以及如何重置修改文件、抛弃工作区修改、将工作文件提交到本地暂存区、从版本库中删除文件等。同时还介绍了如何从暂存区恢复到工作文件、恢复最近一次提交过的状态,以及如何合并多个操作等。 ... [详细]
author-avatar
mobiledu2502885807
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有