前言:
本人的cenos系统是在腾讯云部署的云服务器,为个人网站提供服务,这里说明一下安装数据库遇到的问题和折腾记录。
远程连接云服务器:
这一步使用本地系统的可以跳过。之前连接云服务器使用的都是xshell,但是这鬼东西隔一段时间就提示重新采购安装很麻烦。所以这里我使用的是逛街时发现的tabby软件连接远程服务器,需要的可以下载安装使用,附上教程连接。
https://www.cnblogs.com/javastack/p/16572958.html
安装mongodb:
这里网上的部分教程是通过到官网下载安装包上传到云服务器解压后安装的,我觉得比较麻烦。这里我们介绍使用yum指令一键安装的流程。
1.更新yum避免不必要的报错
yum update curl -y
2.创建yum文件,配置yum下载源
输入以下指令创建yum文件
vi /etc/yum.repos.d/mongodb-org-5.0.repo
单击i或insert键进入插入模式,复制如下内容单击右键粘贴到该文件中。单击esc键退出插入模式,输入:wq并回车保存退出该文件。
[mongodb-org-5.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-5.0.asc
保存退出后直接输入如下指令安装mongodb即可
yum install -y mongodb-org
我这里说下遇到的坑点,首先这个mongodb的版本问题,这里安装的是5.0版本的mongodb,网上介绍的大多数都是安装3.4或4.0版本的mongodb(将上述文件和文件内容中的5.0替换成其他版本号就行),然而目前mongodb已经出到6.0了。为什么不安装3.4,因为我需要使用mongodbcompass(下称compass)来操作数据库,目前官网上提供的compasss是不支持3.4版本的mongodb的,你无法通过最近版本的compass远程连接数据库。那我用老版的可不可以?网上说可以但是我没成功,我尝试通过1.26和1.21版本的compass远程连接3.4版本的mongodb失败了(在这里https://www.filehorse.com/download-mongodb-compass/old-versions/你可以找到更早版本的compass),给了我一个报错Client network socket disconnected before secure TLS connection was establis,我无法查找到并解决这个报错。不过如果你不使用compass,安装3.4版本的mongodb也不是不可以(虽然我不明白网上教程为啥不用更高版本的mongodb)。
至于为啥不直接安装最新的6.0版本是因为5.0之前的版本mongdbhell都是继承在mongodb中的,安装好后直接输入mongo指令就能连接本地数据库,但是6.0版本将shell抽离出来了,安装后你可以启动数据库,但是你没法通过mongo指令连接上并操作你本地的数据库,你需要单独下载安装配置mongodbshell才行,如果你知道如何安装配置shell你可以安装6.0版本的mongodb。
3.启动并安全配置
启动:service mongod start
停止:service mongod stop
重启:service mongod restart
启动数据库后通过mongo指令连接本地数据库,现在我们可以给数据库添加一些用户,限制对数据库的操作。
创建超级用户(root)
输入use admin切换到admin数据库,输入指令db.createUser({user: 'root', pwd: 'xxxxxxxxxxx', roles: ['root']})添加root用户
给具体的库添加用户 并设置权限db.createUser({ user: 'admin', pwd: 'xxxxxxxxx', roles: [{ role: 'root', db: 'admin' }] })
详细的权限设置请自搜
另外上述权限添加后并未生效,你需要输入指令vi /etc/mongod.conf打开mongodb的配置文件将安全验证开启,如下图。如果你需要远程登录也可以更改bind_ip为指定ip或0.0.0.0(允许所有ip地址连接),这样指定ip即可远程连接到该数据库。设置完后重启mongdb即可生效。
标签:mongodb,数据库,cenos7,yum,版本,compass,安装 From: https://www.cnblogs.com/Align/p/16597746.html