1.linux安装yum缺少包
wget https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm
rpm -ivh compat-openssl10-1.0.2o-3.el8.x86_64.rpm
#查看进程
pgrep mongo
kill -2 xxxid
2.springboot测试时 Test需要import org.junit.Test; 而不是丘比特的
3.在yml配置文件有选择数据库的,如果选择错会findAll()方法只会返回空集合
4.!!!大坑 mongodb的默认数据库是test数据库,但是语法上打db
db.comment.find(); //会查询 spring data会查询 空集合,切换数据库即可查出
//如果不存在这个字段,就返回null
//如果不写这个字段,就没有这个数据
//如果 @Field不写 也可以查到, field是属于指定字段名的
5.已经开启了一个mongodb服务会报
[root@compute db]# /usr/local/mongodb/bin/mongod -f /mongodb/single/mongod.conf
about to fork child process, waiting until server is ready for connections.
forked process: 14331
ERROR: child process failed, exited with error number 48
#必须进入mongodb命令行才能关闭,kill不行
mongo
use admin
db.shutdownServer()
exit
- kill -9会导致文件损坏导致更大的问题
7.需要重启节点 才可以解除连接不上主节点
8.需要添加一台 集群机器就检查一次,不然不知道是主节点出问题 还是 其他出问题
9.必须使用公网ip启动,不然多个端口被不知道怎么样被占用
mongos> sh.addShard("myshardrs01/127.0.0.1:27218,127.0.0.1:27118,127.0.0.1:27018")
{
"ok" : 0,
"errmsg" : "in seed list myshardrs01/127.0.0.1:27218,127.0.0.1:27118,127.0.0.1:27018, host 127.0.0.1:27018 does not belong to replica set myshardrs01; found { hosts: [ \"localhost:27018\", \"127.0.0.1:27118\" ], arbiters: [ \"127.0.0.1:27218\" ], setName: \"myshardrs01\", setVersion: 3, ismaster: true, secondary: false, primary: \"localhost:27018\", me: \"localhost:27018\", electionId: ObjectId('7fffffff0000000000000001'), lastWrite: { opTime: { ts: Timestamp(1671538829, 1), t: 1 }, lastWriteDate: new Date(1671538829000), majorityOpTime: { ts: Timestamp(1671538829, 1), t: 1 }, majorityWriteDate: new Date(1671538829000) }, maxBsonObjectSize: 16777216, maxMessageSizeBytes: 48000000, maxWriteBatchSize: 100000, localTime: new Date(1671538832656), logicalSessionTimeoutMinutes: 30, minWireVersion: 0, maxWireVersion: 7, readOnly: false, compression: [ \"snappy\" ], ok: 1.0, operationTime: Timestamp(1671538829, 1), $clusterTime: { clusterTime: Timestamp(1671538832, 1), signature: { hash: BinData(0, 0000000000000000000000000000000000000000), keyId: 0 } } }",
"code" : 96,
"codeName" : "OperationFailed",
"operationTime" : Timestamp(1671538832, 1),
"$clusterTime" : {
"clusterTime" : Timestamp(1671538832, 1),
"signature" : {
"hash" : BinData(0,"AAAAAAAAAAAAAAAAAAAAAAAAAAA="),
"keyId" : NumberLong(0)
}
}
}
// !!!localhost替代公网ip,报错需要按照提示的顺序写
mongos> sh.addShard("myshardrs01/localhost:27018,127.0.0.1:27118,127.0.0.1:27218")
10.设计不合理 启动路径要加引号
.\mongod "D:\Program Files\MongoDB\Server\4.0\data\db"
11.巨坑 坑了我一个月
//27017不知道是端口太长了,外网访问不了,需要做端口 本机端口转发到本地的端口
sysctl -p
iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 27017
12.坑 集群权限 keyFile文件必须在特定范围内,写7不行?
chmod 600 ./mongo.keyfile