Centos7 使用Yum源安装MongoDB4.2版本数据库(补:密码配置)

Centos7 使用Yum源安装MongoDB4.2版本数据库

前置:修改yum安装源对mongodb的支持

可查看官方文档:

本文也是参照官方文档搭建的

https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/#configure-the-package-management-system-yum

正式操作

(1)修改yum安装mongoDB的repo源文件

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

在文件中添加如下信息

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

(2)安装并启动mongo

yum install mongodb-org -y

此操作需要一定时间 ,当执行完毕后

使用如下命令进入客户端

mongo

禁用mongo自动升级,修改/etc/yum.conf文件

vim /etc/yum.conf
#在文件中加入下方配置
exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools
保存退出

exmple :操作mongo的命令如下 (开,关,从启 ,查看状态)

启动:systemctl start mongod
重启:systemctl restart mongod
关闭:systemctl stop mongod
查看运行状态:systemctl status mongod

执行 systemctl start mongod 命令启动Mongo

(3)查看mongo是否开启

systemctl status mongod

#出现如下信息则说明mongo已开启
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2020-01-17 19:37:33 CST; 5s ago
     Docs: https://docs.mongodb.org/manual
  Process: 18740 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS)
  Process: 18738 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 18734 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
  Process: 18733 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
 Main PID: 18743 (mongod)
   CGroup: /system.slice/mongod.service
           └─18743 /usr/bin/mongod -f /etc/mongod.conf

查看mongo日志

more /var/log/mongodb/mongod.log

(4)启动可能遇到的问题

启动后出现或日志中出现 错误代码 code=14 则说明之前服务器上安装过Mongo 但是数据并没有完全清除

解决命令: (清除之前文件并从启)

cd /tmp
rm -rf mongodb-27017.sock
systemctl restart mongod

(5)开启mongo库远程访问权限

首先关闭mongo库 (之前启动时未修改配置文件)

systemctl stop mongod

进入mongo配置文件

cd /etc/
ll
vim mongo.conf

如没有vim命令可用以下命令进行安装

sudo yum install -y vim

修改文件如下位置 (将127.0.0.1改为0.0.0.0)

# network interfaces
net:
  port: 27017
  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.

保存后退出

(6)防火墙设置

cenos7 最好使用firewall

如未安装则用以下命令进行安装

yum install firewalld firewalld-config

查看防火墙是否开启

 firewall-cmd --state

如没有开启且确定不需要开启则略过下面

查看开启的防火墙端口列表

firewall-cmd --permanent --list-port

如没有27017端口则将其开启

firewall-cmd --zone=public --add-port=27017/tcp --permanent
firewall-cmd --zone=public --add-port=27017/udp --permanent

重启防火墙

firewall-cmd --reload

如果是云服务器则需要在在安全组配置中加入27017端口配置

(7)从新启动mongo并连接

systemctl start mongod

查看是否开启

systemctl status mongod
netstat -untlp

使用navicat12 或者studio3T 连接测试

至此 无密码版Mongodb数据库搭建完毕

------------------------------------------------------Mongodb 配置密码----------------------------------------------------------------------

(8)补:mongodb配置密码(超级用户,普通用户)

(1)进入mongo库
[root@alibyleilei /]# mongo
#或者
[root@alibyleilei /]# mongo --port 27017
(2)创建超级用户(可查看所有数据库信息)

进入mongo后切换到自带的admin数据库

use admin

创建超级用户语句

db.createUser(
  {
    user: "root",
    pwd: "123456",
    roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
  }
)

ctrl+c退出mongodb

(3)启用身份验证

​ 修改Mongodb的配置文件 使用yum源其位置在/etc/mongod.conf

修改配置

vim /etc/mongod.conf

#放开下方的security:
#修改配置如下
security:
  authorization: enabled

保存文件从新启动mongo

:wq
systemctl restart mongod

使用密码链接测试

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

#输入密码后出现数据库消息则成功 或者使用studio3t进行连接测试
(4)创建普通用户(只能操作查看对应的一个库信息)

exmple:我在数据库中有一个cx_sc数据库

创建cx_sc对应的普通用户 leilei: (此用户链接成功后仅可查看以及操作cx_sc数据库)

use cx_sc
db.createUser({user: "leilei", pwd: "123456", roles: [{role: "readWrite", db: "cx_sc" }]})

使用studio3t 进行链接测试

链接成功

java中使用

Springboot项目yml配置

spring:
  data:
    mongodb:
      uri: mongodb://cx_sc库用户:cx_sc库用户密码@47.97.118.22:27017/cx_sc
发布了31 篇原创文章 · 获赞 23 · 访问量 3795

猜你喜欢

转载自blog.csdn.net/leilei1366615/article/details/104024290
今日推荐