MongoDB 相关

Centos7.5安装MongoDB 4.0

1.下载(略)

官网 https://www.mongodb.com/download-center/community

2.解压(略)

tar -zxvf xxx

3.配置
在monogdb 目录下创建几个文件夹
data
logs
conf

在conf中添加配置文件
mongo.conf

systemLog:
  destination: file
  logAppend: true
  path: /usr/local/src/mongodb/logs/mongodb.log
storage:
  dbPath: /usr/local/src/mongodb/data/
  journal:
    enabled: true
processManagement:
  fork: true
net:
  port: 27017
  bindIp: 0.0.0.0
# 单节点 身份验证 配置,如果是副本集,可以看我的另一篇文章
#security:
#  authorization: enabled

4.启动
在mongodb目录下

./bin/mongod -f ./conf/mongo.conf

5.连接

./bin/mongo

# 连接其他ip的mongodb
./bin/mongo 192.168.100.12:27017

show dbs;

使用远程连接试试

windows安装MongoDB

1.下载

官网 https://www.mongodb.com/download-center/community

2.安装

双击

3.启动

在安装目录的命令窗口 C:\Program Files\MongoDB\Server\4.0\bin
mongo
可以试试 show dbs;

4.配置用户

# 创建admin用户
use admin;
db.createUser({user: "admin",pwd: "123456",roles: [ { role: "root", db: "admin" } ]});
# 退出
exit;

5.修改配置文件
C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg

storage:
  dbPath: C:\Program Files\MongoDB\Server\4.0\data
  journal:
    enabled: true
systemLog:
  destination: file
  logAppend: true
  path:  C:\Program Files\MongoDB\Server\4.0\log\mongod.log
net:
  port: 27017
  # 配置所有IP都可以连接这个mongoDB
  bindIp: 0.0.0.0
  
security:
  # 开启用户身份验证,也就是需要密码连接mongoDB
  authorization: enabled

6.重启mongodb 服务

windows操作就不说了

7.再次连接mongodb

# 命令窗口
mongo;
# 查看所有数据库 会报错
show dbs;

# 登录用户
use admin;
db.auth("admin","123456");
# 到这就可以操作了
# 使用具体的数据库,最好,创建一个对应的用户
# 比如说操作test数据库的用户 role: "readWrite" 读写权限 (必须use那个数据库创建那个数据库的用户)
use test;
db.createUser({user: "test",pwd: "123456",roles: [ { role: "readWrite", db: "test" } ]})

java中数据库连接的url:mongodb://test:123456@127.0.0.1:27017/test

mongoDB视图化软件:Robo

MongoDB副本集配置

首先,说一下我搭建这个MongoDB副本集的原因:
因为MongoDB副本集支持事务回滚,所以就搭建了一个MongoDB副本集

1.搭建3台 MongoDB 数据库

2.修改配置文件

在原来的基础上添加

# 副本集名称,这个值在每台服务器 都一样
replication:
  replSetName: energy-rc

3.启动每个mongodb

./bin/mongod -f ./conf/mongo.conf

4.进入mongo命令行

./bin/mongo

5.初始化副本集

在mongo命令行执行,这里配置自己的IP

conf=
    {
    "_id" : "energy-rc",
    "members" : [
        { "_id" : 0, "host" : "192.168.100.11:27017" },
        { "_id" : 1, "host" : "192.168.100.12:27017" },
        { "_id" : 2, "host" : "192.168.100.13:27017" }
        ]
    };


rs.initiate(conf);

查看副本集状态

rs.status()

在这里插入图片描述
看这里是不是已经有 主 和 从 了
在这里插入图片描述
如果你想手动配置优先级的话,可以这样,那么 members[0] 将作为 primary,也就是主节点;
注意:这是在mongo命令行中操作的;

cfg = rs.conf();
cfg.members[0].priority = 5;
cfg.members[1].priority = 1;
cfg.members[2].priority = 1;
rs.reconfig(cfg);

6.测试副本集

在主节点操作

use test;
for(var i=0;i<100;i++){db.customer.insert({"name":"user"+i})};
db.customer.count();
结果:100

在从节点操作

use test;

# 在从节点上每次登录都要执行这个操作,相当于刷新吧,应该
rs.slaveOk();

db.customer.count();
结果:100

副本集的身份验证

不配置用户名密码,怎么行呢,下面一起来配置一下

1.在主节点添加用户

root:权限比较大
readWrite:读写权限

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

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

2.每个节点生成energy-rc.key

openssl rand -base64 756 > energy-rc.key

3.在配置文件中添加,每个节点都要添加,对应key的路径

security:
  keyFile: /usr/local/src/mongodb/etc/energy-rc.key

4.重启服务(略)

5.mongo命令行执行

use admin;
db.auth("root","123456");

在这里插入图片描述
这样,就可以了

最后,在springboot中使用

注意:在哪个数据库添加的用户,配置那个数据库

spring.data.mongodb.uri=mongodb://test:123456@192.168.100.11:27017,192.168.100.12:27017,192.168.100.13:27017/test

测试MongoDB replica set Githup地址

https://github.com/1277782574/project_demo 下的mongotest

Mongodb 数据备份

# 把 test 数据库下面的 video 集合 备份 到 /data/mongo/video
mongodump -h 127.0.0.1:27017 -u xxx -p xxx -d test -c video -o /data/mongo/video

# 导入
mongorestore -h 127.0.0.1:27017 -u xxx-p xxx --drop  /data/mongo/video
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值