mongoDB single db convert to replicaSet
mongoDB single db convert to replicaSet 以下以2.0.2为例 : 1. 修改主节点配置 # 其他配置不变 # 增加配置,例如 noauth = true oplogSize = 31280 journal = true journalCommitInterval = 40 2. 重启mongodb mongo 127.0.0.1:4321/admin db.shutdownServe
mongoDB single db convert to replicaSet
以下以2.0.2为例 :
1. 修改主节点配置
# 其他配置不变
# 增加配置,例如
noauth = true
oplogSize = 31280
journal = true
journalCommitInterval = 40
2. 重启mongodb
mongo 127.0.0.1:4321/admin
db.shutdownServer()
# 增加启动项 --replSet=set_name
mongod --replSet=set_name -f mongod.conf
3. 初始化,假如我想让192.168.10.10:4321这个库的优先级比较高,一直处于primary角色.
use admin
rs.initiate({
"_id" : "digoal",
"version" : 1,
"members" : [
{
"_id" : 0,
"host" : "192.168.10.10:4321",
"priority" : 2
}
]
})
4. 新增local.system.profile
如果开启了profile参数,转换成replicaSet后会报错,需要增加system.profile的collection
连接到primary以及slave执行
use local
db.createCollection( "system.profile", {capped:true , size:4000000})
一般需要在所有数据库都创建,所以
show dbs
然后进入库去执行. 如
use test
db.createCollection( "system.profile", {capped:true , size:4000000})
5. 启动SLAVE
mongod --replSet=set_name -f mongod.conf
6. 重新配置主节点rs.conf
use admin
rs.reconfig({
"_id" : "digoal",
"version" : 1,
"members" : [
{
"_id" : 0,
"host" : "192.168.10.10:4321",
"priority" : 2
},
{
"_id" : 1,
"host" : "192.168.10.11:4321"
}
]
})
7. 等待recover完成
8. Slave节点新增local.system.profile
use local
db.createCollection( "system.profile", {capped:true , size:4000000})
9. 新增其他slave
小结, 因为单节点的mongoDB转成replicaSet时需要初始化local数据库,如果local设置得比较大的话可能导致初始化耗时比较长.
因此建议上线的时候就配置成单节点的replicaSet。
看了德哥的打消了我一个顾虑就是,不需要所有replica set配置好,再初始化,只需要单个配置修改,初始化了,从节点可以逐个加进来,重新配置即可。
自己的步骤:
1.登录现有mongodb
db.runCommand("shutdown")或者db._adminrunCommand("shutdown")
2.配置文件修改auth选项:noauth = true
添加key文件,权限400即可,并在配置文件中写入keyFile路径以及replSet,oplogSize到配置文件,或者直接写明参数启动
示例:mongod --replSet rs1/192.168.173.234:20001 --keyFile /mongodb1.8/key/r1 --fork --port 20001 --dbpath /mongodb1.8/data1/ --logpath=/mongodb1.8/RS.log
3.登录其他两个节点,相继启动
在其中一个节点mongo 192.168.173.234:20001/admin
config_rs1 = {_id: 'rs1', members: [
... {_id: 0, host: '192.168.173.234:20001', priority:1}, --成员IP 及端口,priority=1 指PRIMARY
... {_id: 1, host: '1ip:20002'},
... {_id: 2, host: '2ip:20003'}]
... }
rs.initiate(config_rs1);
rs.status()
rs.isMaster()

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

推荐使用 MongoDB 最新版本(当前为 5.0),因为它提供了最新特性和改进。选择版本时,需考虑功能需求、兼容性、稳定性和社区支持,例如:最新版本具有事务、聚合管道优化等特性。确保版本与应用程序兼容。生产环境选择长期支持版本。最新版本有更活跃的社区支持。

Node.js 是一种服务器端 JavaScript 运行时,而 Vue.js 是一个客户端 JavaScript 框架,用于创建交互式用户界面。Node.js 用于服务器端开发,如后端服务 API 开发和数据处理,而 Vue.js 用于客户端开发,如单页面应用程序和响应式用户界面。

MongoDB 数据库的数据存储在指定的数据目录中,该目录可以位于本地文件系统、网络文件系统或云存储中,具体位置如下:本地文件系统:默认路径为 Linux/macOS:/data/db,Windows:C:\data\db。网络文件系统:路径取决于文件系统。云存储:路径由云存储提供商决定。

MongoDB 数据库以其灵活、可扩展和高性能而闻名。它的优势包括:文档数据模型,允许以灵活和非结构化的方式存储数据。水平可扩展性,可通过分片扩展到多个服务器。查询灵活性,支持复杂的查询和聚合操作。数据复制和容错,确保数据的冗余和高可用性。JSON 支持,便于与前端应用程序集成。高性能,即使处理大量数据也能实现快速响应。开源,可定制且免费使用。

MongoDB是一款面向文档的、分布式数据库系统,用于存储和管理大量结构化和非结构化数据。其核心概念包括文档存储和分布式,主要特性有动态模式、索引、聚集、映射-归约和复制。它广泛应用于内容管理系统、电子商务平台、社交媒体网站、物联网应用和移动应用开发等领域。

在 Linux/macOS 上:创建数据目录并启动 "mongod" 服务。在 Windows 上:创建数据目录并从服务管理器中启动 MongoDB 服务。在 Docker 中:运行 "docker run" 命令。在其他平台上:请查阅 MongoDB 文档。验证方式:运行 "mongo" 命令以连接并查看服务器版本。

MongoDB 数据库文件位于 MongoDB 数据目录中,默认情况下为 /data/db,其中包含 .bson(文档数据)、ns(集合信息)、journal(写入操作记录)、wiredTiger(使用 WiredTiger 存储引擎时的数据)和 config(数据库配置信息)等文件。

解决 Navicat 过期问题的方法包括:续订许可证;卸载并重新安装;禁用自动更新;使用 Navicat Premium Essentials 免费版;联系 Navicat 客户支持。
