centos8 安装 mongoDB 4.4.3
1. 下载安装包
官网:https://docs.mongodb.com/
1.1. server
1.2. 去下载
1.3. 选择产品型号
1.4. 选择版本、平台、包类型
1.5. 点击 “Copy Link”,复制链接,这里选择 zip 包
1.6. 去服务器上下载包
wget https://downloads.mongodb.com/linux/mongodb-linux-x86_64-enterprise-rhel80-4.4.3.tgz
2. 解压
tar -xzvf xxx.tgz
3. 编写配置文件
vim mongo.conf
dbpath=/usr/local/server/mongodb/mongodb-4.4.3/db logpath=/usr/local/server/mongodb/mongodb-4.4.3/log/mongo.log port=xxx #绑定所有网口,才能开启远程访问 bind_ip=0.0.0.0
4. 启动
./bin/mongod -f mongo.conf
ps:如果启动报错:error while loading shared libraries: libnetsnmpmibs.so.35: cannot open shared object file: No such file or directory,则安装库:
yum install net-snmp
5. 测试连接:
使用 navicat 测试连接:
6. 创建数据库和密码
6.1. 先停止(4 中的启动方式没有切换到后台,直接 ctrl_c)
6.2. 本地登录
./bin/mongo -port xxx
6.3. 查看数据库
show dbs
默认已经有三个
6.4. 切换到 admin
use admin
创建 root 用户
db.createUser({user:"root", pwd:"leo123456.", roles:[{role:"root", db:"admin"}]})
root 角色用于关闭数据库
6.5. 创建用户的数据库和用户(使用 use 切换到数据库,没有则会默认创建)
use log-service
db.createUser({user:'leo-log', pwd:'xxx.', roles:[{role:"dbOwner", db:"log-service"}]})
dbOwner 代表该数据库所有者角色,用户该数据库所有权限
6.6. 验证用户
db.auth('leo-log', '密码')
返回 1 则代表验证密码成功
6.6. 创建数据库之后直接使用 show dbs 查询是查询不到的,需要先插入一条数据
mongo 中所有数据都是以集合(collection 管理的,类似于关系型数据库的表),如下我们在集合名为 opLog 下插入一条数据(集合不存在会默认创建)
db.opLog.insert({"service":"auth","opType":"1","result":true,"title":"登录成功","opUserId":1,"opUserLoginId":"system","opUserName":"旺仔","opTime":"2021-02-03 20:48:13","serviceId":null,"serviceHost":"172.16.150.27","clientHost":"172.16.150.27","reqUri":"/oauth2/api/v1/login","classMethod":"leo.cloud.auth.controller.OAuth2Controller.login","reason":null,"content":{"id":1,"del":"f","cas":1,"loginId":"system","password":null,"mobile":null,"email":null,"nickname":"旺仔","spCode":"sp_root","roleList":null,"ustatus":"offline","ctime":"2020-12-29 18:38:44","utime":"2020-12-29 18:38:46","cid":1}}) WriteResult({ "nInserted" : 1 })
返回 nInserted:1 则代表插入了一条数据:
现在再使用 show dbs 就可以看到 log-service 数据了:
6.7. 测试查询刚刚插入的数据
db.opLog.find()
7. 至此,mongoDB 的数据库和用户都已经建好了,可以使用 远程客户端连接了,这里使用 navicat
8. 接下来切换到后台运行
8.1 先停止(ctrl+c)
8.2 使用 nohup 启动
nohup ./bin/mongod -f mongo.conf >>/dev/null &