使用了事务进行库存管理,而默认单机不支持事务,要转为副本集模式,只有一个服务也可以做副本集。
0 更改配置后无法启动
根据ai给的步骤修改配置加上kill进程直接关闭,mongodb就无法启动,然后再根据ai提示各种捣鼓还是不行。
上淘宝一个人要100我没下单,接着找了30的给我一通捣鼓还删了文件还是不行,感觉更坏了。
好友列表有位之前加的mongodb专家,根据他的提示加上ai给的方案+我自己研究、看日志最后搞定。
总的来说就是删除lock 和、/temp/**sock 以及命令加sudo权限 启动指定dbpath和配置,整下来就好了,可以启动。dbpath可能之前瞎搞有指错,不知道会不会有影响,但是后面就没再重新指定了
现在看最开始启动不了,应该是权限问题,ubuntu的权限太严了。
1 单机转副本集模式步骤
ai提示+网友经验贴了解了一点大致流程 最后根据这篇网友经验贴搞定
- 命令行生成密钥
openssl rand -base64 128 > ./mongod-keyfile
sudo chmod 600 ./mongod-keyfile
sudo chown 999:999 ./mongod-keyfile
- 修改mongodb配置文件
replication:
replSetName: rs0
security:
keyFile: /****/mongod-keyfile #上面密钥的路径
- 命令行
sudo mongod -f /www/server/mongodb/config.conf
mongosh -u root -p password --authenticationDatabase admin
> use admin
> rs.initiate({ _id: "rs0", members: [{ _id: 0, host: "公网ip:27017" }] // 会提示成功
> rs.status() // 可查看状态
2 新手注意点
我就是那个新手
- mongo 现在新版本改成mongosh,所以有的经验帖或者ai给的是mongo命令
- rs.initiate里的host,用0.0.0.0执行不了,用127.0.0.1或者locahost无法远程访问
--