mongoDB
安装
1、进入到yum仓库中,配置MongoDB的yum源。
vim /etc/yum.repos.d/mongodb-org.repo
2、通过点击 i 进入编辑模式,并在mongodb-org.repo中添加如下代码。
[mongodb-org]
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
注意
- name #名称
- baseurl #获得下载的路径
- gpkcheck=1 #表示对从这个源下载的rpm包进行校验;
- enable=1 #表示启用这个源。
- gpgkey #gpg验证
3、配置完yum源之后,通过ESC键退出并输入:wq保存退出,然后重新加载下yum源。
yum list
4、下载Mongodb。
yum install mongodb-org -y
5、配置MongoDB配置文件。
vim /etc/mongod.conf
通过点击 i 进入编辑模式,修改其中的bindIp,配置完后,通过ESC键退出并输入:wq保存退出。
net:
port: 27017
bindIp: 0.0.0.0
6、执行以下命令,启动MongoDB服务。
systemctl start mongod.service # 启动
systemctl stop mongod.service # 停止
systemctl restart mongod.service # 重启
chkconfig mongod on # 加入开机启动
7、执行以下命令,查看MongoDB运行状态。
systemctl status mongod
卸载
sudo yum erase $(rpm -qa | grep mongodb-org) #卸载MongoDB
sudo rm -r /var/log/mongodb #删除日志文件
sudo rm -r /var/lib/mongo #删除数据文件
设置用户密码
-
在终端输入
mongo
进入mongodb客户端 -
进入admin数据库
use admin
-
创建管理账号
db.createUser({user:"root",pwd:"123456",roles:["root"]})
-
测试
db.auth('root','123456')
返回1
则正确 -
开启验证
vi /etc/mongod.conf
修改#security:
为security: authorization: enabled
-
重启服务
-
测试admin 数据库
mongo
进入数据库,use admin
切换到admin数据库,运行show users
会报错,因为你没有验证身份,需要先验证db.auth('root','123456')
,再次运行show users
则显示应有信息。
springboot 连接mongodb
springboot错误配置
data:
mongodb:
host: localhost
port: 8888
username: root
password: root
database: mydb
springboot正确配置
use mydb
db.createUser({user:"root",pwd:"root",roles:[{role:"root",db:"admin"}]})
data:
mongodb:
uri: mongodb://root:root@localhost:8888/mydb
遇到的异常及解决
启动服务是遇到这个错误
Job for mongod.service failed because the control process exited with error code. See "systemctl status mongod.service" and "journalctl -xe" for details.
运行指令: systemctl status mongod.service
显示错误如下:
● mongod.service - MongoDB Database Server
Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2021-11-15 16:53:53 CST; 2min 51s ago
Docs: https://docs.mongodb.org/manual
Process: 4498 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
Process: 4495 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 4493 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS)
Process: 4491 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS)
这段错误信息中主要是这段
Process: 4498 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=14)
解决方案:
1、以CentOS系统为例,我们进入到/tmp目录并找到mongodb-27017.sock文件
[root@centos ~]# cd /tmp
[root@centos ~]# ls -l *.sock
2、修改文件权限
chown mongod:mongod mongodb-27017.sock
3、重启MongoDB,发现没有问题,已经成功启动。