一、 概述
本人简要介绍CentOS7.8 64位系统上安装mongodb4.4版本。
二、 下载
2.1 下载地址:https://www.mongodb.com/try/download/community
2.2 选择 mongodb-linux-x86_64-rhel62-4.4.1.tgz
三、 安装
3.1解压安装包:
tar -xvzf mongodb-linux-x86_64-rhel62-4.4.1.tgz
3.2配置MongoDB:
打开/etc/proflie文件,在最后一行加入export PATH=$PATH:/usr/local/mongodb/bin
3.3在usr/mongodb目录下新建一个名为mongodb.conf的配置文件,写入如下配置内容:
port=27017 #
dbpath= /usr/local/mongodb/data/db #Ê
logpath= /usr/local/mongodb/mongodb.log #
logappend=true #
fork=true # 后台运行
maxConns=100 #
journal=true #
storageEngine=wiredTiger
bind_ip = 0.0.0.0
3.4 启动
命令启动mongod --config /usr/local/mongodb/mongodb.conf
3.5配置开机启动:
centos 7的开机启动跟之前版本的centos有很大不同。现在用 systemctl命令代替了之前的chkconfig 和 service 命令
注册到开机启动的方法如下:
1.在系统服务目录下新建mongodb的启动服务,并给与754的权限:
cd /lib/systemd/system
vi mongodb.service
内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/bin/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
注意:路径必须要写绝对路径。
2.赋权限:
chmod 754 mongodb.service
3.先后执行命令:
启动:systemctl start mongodb.service
关闭:systemctl stop mongodb.service
注册到开机启动:systemctl enable mongodb.service
3.6 配置用户名和密码
1.执行命令./mongo进入mongodb:
2.执行命令:show dbs 查看当前的数据库:
- 切换到你想要运行添加用户名、密码的数据库
执行命令:use XXX (XXX为你想要操作的数据库的名字)
这里的efms是java工程里面配置动态生成的。
- 为当前的数据库添加用户
执行命令:
db.createUser({user:’wasion’,pwd:’wasion@1234’,roles:[{role:”readWrite”,db:”efms”}]})
注意:readWrite为你想让用户拥有的权限,可根据不同的需求给用户设置不同的权限。
- 修改配置文件
打开mongoldb.config文件,在文件中添加代码auth = true,保存退出
6.重启mongoDB
首先结束进程:pkill mongod
通过配置文件启动mongoDB: ./bin/mongod -f mongodb.conf
7.登录
重启之后再通过mongo操作数据库时需要先用用户登录,use efms,然后运行db.auth(‘wasion’,’ wasion@1234’),如果打印出1说明登录成功:
四、 测试
命令启动mongod --config /usr/local/mongodb/mongodb.conf报错:
安装xz-compat-libs:
五、 使用
开发环境IDEA,框架:spring boot,配置文件:
data:
mongodb:
host: 192.168.224.190
port: 27017
username: wasion
password: wasion@1234
database: efms