1. 下载mongodb安装包

第一种(直接打开终端下载安装包,下载完成后移动到指定文件夹)

  1. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz(打开终端直接输入此命令会下载安装到根目录下,不知道根目录,输入 pwd 查看)
  2. mv mongodb-linux-x86_64-4.0.7 /usr/local/mongodb (mv 移动的文件名 移动到指定文件夹下的地址)

第二种(先进入指定文件夹,在下载安装包)

  1. cd /usr/local/
  2. mkdir mongodb
  3. cd mongodb/
  4. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz

  1. 解压安装包

tar -zxvf mongodb-linux-x86_64-4.0.7.tgz


  1. 进入解压后的文件

cd mongodb-linux-x86_64-4.0.7


  1. 创建存放数据库、日志、监控信息的文件夹,创建配置文件

开启两个MongoDB,搭建一个副本集,用于MongoDB事务
mkdir data log tmp
mkdir data/data-27017
mkdir data/data-27018
mkdir mongod-27017.conf
mkdir mongod-27018.conf


  1. 配置验证文件

openssl rand -base64 741 >> ./mongodb.key
chmod 600 /data/db/mongodb.key


  1. 配置文件填写配置信息

vim mongod-27017.conf
#########################################################
storage:
dbPath: /usr/local/mongodb-4.0.3/data/db-27017
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb-4.0.3/log/mongodb-27017.log
processManagement:
fork: true
pidFilePath: /usr/local/mongodb-4.0.3/tmp/mongod-27017.pid
net:
port: 27017
bindIp: 0.0.0.0
replication:
replSetName: “rs”
security:
authorization: enabled
clusterAuthMode: “keyFile”
keyFile: /usr/local/mongodb-4.0.3/bin/keyfile

vim mongod-27018.conf
#########################################################
storage:
dbPath: /usr/local/mongodb-4.0.3/data/db-27018
journal:
enabled: true
systemLog:
destination: file
logAppend: true
path: /usr/local/mongodb-4.0.3/log/mongodb-27018.log
processManagement:
fork: true
pidFilePath: /usr/local/mongodb-4.0.3/tmp/mongod-27018.pid
net:
port: 27018
bindIp: 0.0.0.0
replication:
replSetName: “rs”
security:
authorization: enabled
clusterAuthMode: “keyFile”
keyFile: /usr/local/mongodb-4.0.3/bin/keyfile


  1. 启动MongoDB

./bin/mongod -f mongod-27017.conf
./bin/mongod -f mongod-27018.conf


  1. 进入MongoDB客户端

cd bin
./mongo port=27017


  1. 配置副本集

rs.initiate( {
_id: “rs”,
members: [
{ _id: 0, host: “127.0.0.1:27017” },
{ _id: 1, host: “127.0.0.1:27018” },
]})


  1. 创建超级管理员

use admin
# 查看用户列表
show users
db.createUser({
user: ‘ns-admin’,
pwd: ‘2b8ba2ded188’,
roles:[{
role: ‘root’,
db: ‘admin’
}]
})


  1. 开启集群

退出MongoDB客户端
exit
# 返回bin目录上一级
cd ..
# 开启集群
mkdir keyfile openssl rand -base64 741 > mongo.key
chmod 600 mongo.key


  1. 更新配置文件,注释认证,重启服务

vim mongod-27017.conf # 注释security部分
vim mongod-27018.conf # 注释security部分
# 查看两个MongoDB的进程号
lsof -i:27017
lsof -i:27018
# 根据PID结束进程
kill -9 PID号
# 重启两个服务
./bin/mongod -f mongod-27017.conf
./bin/mongod -f mongod-27018.conf


  1. 测试事务

在数据库“dba”中准备两张表,第一张表准备两条数据
1643293383(1).png
# 切换数据库
use dba
# 在dba数据库coll_1表插入数据
db.coll_1.insert({“name”:”e”})
db.coll_1.insert({“name”:”f”})
# 查看两张表数据
db.coll_1.find()
db.coll_2.find()


  1. 开启事务

session=db.getMongo().startSession()
session.startTransaction()
coll_1=session.getDatabase(“dba”).coll_1;
coll_2=session.getDatabase(“dba”).coll_2;


  1. 向两张表中添加数据

coll_1.insertOne({“name”:”cc”})
coll_2.insertOne({“name”:”hh”})
成功:
1643294007(1).png


  1. 提交事务
    1. 进行提交

session.commitTransaction()
# 查看两张表数据,判断是否插入成功
db.coll_1.find()
db.coll_2.find()

  1. 进行回滚

session.abortTransaction()
# 查看两张表数据,判断是否未插入成功
db.coll_1.find()
db.coll_2.find()


  1. 其他命令

身份认证
db.auth(“admin”,”password”)
./mongo —port 27017 admin -u 用户名 -p 密码
# 更新密码
db.changeUserPassword(“admin”,”新密码”)
# 查看副本集配置
rs.config()
# 查看副本集状态
rs.status()
# 从节点客户端 not master and slaveOk=false
rs.slaveOk()
1643294056(1).png


  1. MongoDB官网下载步骤

MongoDB官网连接:https://www.mongodb.com/download-center?jmp=nav#community
登录官网通过以下步骤下载所需版本安装包
image.png
image.png
image.png
image.png
image.png