linux安装mongoDB与远程连接

栏目: 数据库 · 发布时间: 5年前

内容简介:development release ---->开发版current release ---->当前稳定版previous release ---->旧版本
  • 访问 mongoDB 官网,选择对应版本,官方下载地址
linux安装mongoDB与远程连接
版本说明
linux安装mongoDB与远程连接

development release ---->开发版

current release ---->当前稳定版

previous release ---->旧版本

系统说明

linux安装mongoDB与远程连接
Ubuntu ----> 优般图
Linux legacy ----> 通用版
window ----> 不解释
RHEL Linux ----> 红帽
Amazon Linux ----> 亚马逊
Debian Linux ----> Debian
SUSE Linux ----> SUSE
复制代码
  • linux 系统安装的是centOS 7,属于红帽旗下,所以我选择的RHEL 7.2 Linux的mongoDB,贴个图,我选择的各个版本

    linux安装mongoDB与远程连接
  • 安装这次安装使用tgz包

1,安装wget
[root@izbp1b498epn4trb75oykez ~]# yum -y install wget
2,使用wget下载tgz包,我当前目录/usr/local/
[root@izbp1b498epn4trb75oykez local]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.9.tgz
3,新建mongoDB文件夹,将tgz文件解压至mongoDB文件夹下
[root@izbp1b498epn4trb75oykez local]# mkdir mongoDB
[root@izbp1b498epn4trb75oykez local]# tar -zxvf mongodb-linux-x86_64-rhel70-4.0.9.tgz -C /usr/local/mongoDB
4,进入mongoDB目录,查看目录文件,发现还有一个mongodb-linux-x86_64-rhel70-4.0.9目录,这个目录内才是mongoDB的文件,我们将这个目录内的文件移动到mongoDB目录下
[root@izbp1b498epn4trb75oykez local]# cd mongoDB/
[root@izbp1b498epn4trb75oykez mongoDB]# ls
mongodb-linux-s390x-rhel72-4.0.9
[root@izbp1b498epn4trb75oykez mongoDB]# cd mongodb-linux-x86_64-rhel70-4.0.9
[root@izbp1b498epn4trb75oykez mongodb-linux-x86_64-rhel70-4.0.9]# ls
bin  LICENSE-Community.txt  MPL-2  README  THIRD-PARTY-NOTICES
[root@izbp1b498epn4trb75oykez mongodb-linux-x86_64-rhel70-4.0.9]# mv * ../
5,删除已无用的mongodb-linux-x86_64-rhel70-4.0.9文件夹,(没有强迫症可不删)
[root@izbp1b498epn4trb75oykez mongoDB]# rm -rf mongodb-linux-x86_64-rhel70-4.0.9
复制代码

二、配置启动

  • 在mongoDB根目录下创建data目录及其子目录db,以及日志目录logs以及其日志文件mongoLogs.log,和配置文件mongodb.conf,命令如下
[root@izbp1b498epn4trb75oykez mongoDB]# mkdir data
[root@izbp1b498epn4trb75oykez mongoDB]# mkdir data/db
[root@izbp1b498epn4trb75oykez mongoDB]# mkdir logs
[root@izbp1b498epn4trb75oykez mongoDB]# touch logs/mongoLogs.log
[root@izbp1b498epn4trb75oykez mongoDB]# touch mongodb.conf
复制代码
  • 编辑配置文件mongodb.conf,命令如下
[root@izbp1b498epn4trb75oykez mongoDB]# vi mongodb.conf 
复制代码
  • 打开文件后,英文状态下按键盘i键进入文件编辑状态,文件内容如下
#端口号 默认27017
port=27017

#数据目录
dbpath = /usr/local/mongoDB/data/db

#日志文件
logpath = /usr/local/mongoDB/logs/mongoLogs.log

#设置后台运行
fork = true

#日志输出方式
logappend = true
复制代码
  • 编辑好之后按键盘ESC退出编辑状态,接着按shift+:键,然后输入wq,按回车保存退出
  • 以配置文件启动mongodb,命令如下
[root@izbp1b498epn4trb75oykez bin]# ./mongod --config /usr/local/mongoDB/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 6685
child process started successfully, parent exiting
./mongo连接测试库
[root@izbp1b498epn4trb75oykez bin]# ./mongo
复制代码
  • 启动成功,./mongo连接测试库,连接成功输入exit退出
    linux安装mongoDB与远程连接

三、配置账户,授权登录

  • mongodb我们已经安装完成,也成功启动连接上了测试库,但此时我们./mongo启动的时候是默认不需要授权登录的,这样并不安全,所以我们需要创建管理员,之后启动及操作都需要授权登录才可以进行。

  • 创建admin数据库,创建用户,设置账号,密码,权限

> use admin
switched to db admin
> db.createUser({user:"root",pwd:"123456",roles:["root"]})
Successfully added user: { "user" : "root", "roles" : [ "root" ] }
复制代码
  • 使用账号密码登录后,结束mongodb程序
> use admin
switched to db admin
> db.auth('root','123456');
1
> db.shutdownServer();
Wed Nov 14 06:07:33 DBClientCursor::init call() failed
Wed Nov 14 06:07:33 query failed : admin.$cmd { shutdown: 1.0 } to: 127.0.0.1:27017
server should be down...
Wed Nov 14 06:07:33 trying reconnect to 127.0.0.1:27017
Wed Nov 14 06:07:33 reconnect 127.0.0.1:27017 failed couldnt connect to server 127.0.0.1:27017
复制代码
  • 修改配置文件,重启使配置生效
[root@izbp1b498epn4trb75oykez mongoDB]# vi mongodb.conf
复制代码

配置文件内容

#端口号 默认27017
port=27017
#绑定ip 默认127.0.0.1只允许本地连接
bind_ip = 0.0.0.0

#数据目录
dbpath = /usr/local/mongoDB/data/db

#日志文件
logpath = /usr/local/mongoDB/logs/mongoLogs.log

#设置后台运行
fork = true

#日志输出方式
logappend = true

#开启身份验证
auth = true
复制代码

重启

[root@izbp1b498epn4trb75oykez bin]# ./mongod --config /usr/local/mongoDB/mongodb.conf 
复制代码
  • 以管理员账号登录,创建普通用户,之后本地做开发连接数据库时需要配置账号密码才可以成功连接
1,以管理员账号连接数据库
[root@izbp1b498epn4trb75oykez bin]# ./mongo 127.0.0.1:27017/admin --username "root" --password "123456"
2,创建数据库,创建账号,给读写权限
> use blog
> db.createUser({user:"blogAdmin",pwd:"123456",roles:[{role:"readWrite",db:"blog"}]})
Successfully added user: {
	"user" : "blogAdmin",
	"roles" : [
    	{
	    	"role" : "readWrite",
	    	"db" : "blog"
    	}
	]
}
复制代码

四、开放对外端口,远程连接

  • 如果是阿里云主机直接在阿里云控制台开启27017端口即可
  • 如果是其他主机可以参考这篇文章
  • 端口开放成功后可以使用Navicat连接测试
linux安装mongoDB与远程连接
  • 连接成功,由于数据库中没有内容所以显示的是空白
linux安装mongoDB与远程连接
  • 开发中连接中使用,各个语言连接 工具 不一定相同这里以nodejs举例
import mongoose from 'mongoose';
const db = mongoose.connect('mongodb://blogAdmin:123456@[你的IP]:27017/blog', { useNewUrlParser: true }, err => {
  if (err) {
    console.log('出错---------->', err)
  } else {
    console.log('链接成功')
  }
})
复制代码

五、用户权限角色说明

Read:允许用户读取指定数据库

readWrite:允许用户读写指定数据库

dbAdmin:允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile

userAdmin:允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户

clusterAdmin:只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限。

readAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读权限

readWriteAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的读写权限

userAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的userAdmin权限

dbAdminAnyDatabase:只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限。

root:只在admin数据库中可用。超级账号,超级权限。

六、完成

  • 至此linux安装mongodb与远程连接全部完成,描述过程中如有不准确或讲解不清楚的地方欢迎在评论区留言斧正,撒花:tada::tada::tada::tada:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

村落效应

村落效应

[加] 苏珊·平克(Susan Pinker) / 青涂 / 浙江人民出版社 / 2017-3-1 / CNY 69.90

 面对面的接触是作为社会性动物的人类最古老、深刻的需求。在互联网时代,社交媒体已经成为人际沟通的主体,人际关系的维系越来越被社交媒体上的点赞、转发、评论代替,在冰冷的互动中,我们失去了真实与温度。面对面的人际关系与接触能让人感受到如村落生活般的归属感,它是一个人免疫力、复原力和影响力的真正来源。虽然互联网拥有毋庸置疑的优势,但是如果我们渴望快乐、健康、长寿……没错,还有智慧,我们就需要想方设法腾......一起来看看 《村落效应》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具