{"id":313,"date":"2025-11-05T06:37:55","date_gmt":"2025-11-05T06:37:55","guid":{"rendered":"https:\/\/mitalgoswami.in\/?p=313"},"modified":"2025-11-05T15:49:21","modified_gmt":"2025-11-05T15:49:21","slug":"how-to-create-replica-set-in-mongodb-version-8-2","status":"publish","type":"post","link":"https:\/\/mitalgoswami.in\/?p=313","title":{"rendered":"How to create replica set in mongodb version 8.2"},"content":{"rendered":"\n<p>A <strong>replica set<\/strong> in MongoDB is a group of <code>mongod<\/code> instances that maintain the same data set, providing <strong>redundancy<\/strong> and <strong>high availability<\/strong>.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"> Step-by-Step Setup for MongoDB 8.2 Replica Set<\/h2>\n\n\n\n<p>We\u2019ll use <strong>three nodes<\/strong> (members) for demonstration:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Node 1: localhost:27017 (Primary)\nNode 2: localhost:27018 (Secondary)\nNode 3: localhost:27019 (Secondary)\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 1: Create Data Directories<\/h3>\n\n\n\n<p>On your system, create separate data folders for each instance:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir C:\\data\\r1\nmkdir C:\\data\\r2\nmkdir C:\\data\\r3\n<\/code><\/pre>\n\n\n\n<p>(If on Linux\/macOS)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mkdir -p \/data\/r1 \/data\/r2 \/data\/r3\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"> Step 2: Start MongoDB Instances<\/h3>\n\n\n\n<p>Open <strong>three separate terminals<\/strong> (or command prompts).<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Terminal 1 (Primary)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>mongod --port 27017 --dbpath \"C:\\data\\r1\" --replSet \"rs0\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Terminal 2 (Secondary 1)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>mongod --port 27018 --dbpath \"C:\\data\\r2\" --replSet \"rs0\"\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Terminal 3 (Secondary 2)<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>mongod --port 27019 --dbpath \"C:\\data\\r3\" --replSet \"rs0\"\n<\/code><\/pre>\n\n\n\n<p>\u2705 All must use the <strong>same replica set name<\/strong> (<code>rs0<\/code> here).<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 3: Connect to Mongo Shell (mongosh)<\/h3>\n\n\n\n<p>Open a new terminal and connect to the first node:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mongosh --port 27017\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"> Step 4: Initialize the Replica Set<\/h3>\n\n\n\n<p>In the Mongo shell, run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rs.initiate({\n  _id: \"rs0\",\n  members: &#91;\n    { _id: 0, host: \"localhost:27017\" },\n    { _id: 1, host: \"localhost:27018\" },\n    { _id: 2, host: \"localhost:27019\" }\n  ]\n})\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"> Step 5: Verify Replica Set Status<\/h3>\n\n\n\n<p>Run:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rs.status()\n<\/code><\/pre>\n\n\n\n<p>\u2705 You should see:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>One <strong>PRIMARY<\/strong><\/li>\n\n\n\n<li>Two <strong>SECONDARY<\/strong> nodes<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Step 6: Test Replication<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Connect to the <strong>Primary<\/strong> (port 27017).<\/li>\n\n\n\n<li>Create a database and insert data: <code>use testdb db.items.insertOne({ name: \"replica test\", time: new Date() })<\/code><\/li>\n\n\n\n<li>Connect to a <strong>Secondary<\/strong>: <code>mongosh --port 27018<\/code><\/li>\n\n\n\n<li>Allow reading from secondary: <code>db.getMongo().setReadPref('secondary') db.items.find()<\/code> You\u2019ll see the same document replicated <\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Optional: Run as Windows Services (MongoDB 8.2+)<\/h3>\n\n\n\n<p>If you want to run each instance as a <strong>Windows service<\/strong>:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Create 3 config files:\n<ul class=\"wp-block-list\">\n<li><code>C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod1.cfg<\/code><\/li>\n\n\n\n<li><code>C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod2.cfg<\/code><\/li>\n\n\n\n<li><code>C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod3.cfg<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>Example config for node1:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>systemLog:\n  destination: file\n  path: \"C:\\\\data\\\\r1\\\\mongod.log\"\nstorage:\n  dbPath: \"C:\\\\data\\\\r1\"\nnet:\n  bindIp: 127.0.0.1\n  port: 27017\nreplication:\n  replSetName: rs0\n<\/code><\/pre>\n\n\n\n<p>Then install each as a service:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>mongod --config \"C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod1.cfg\" --install --serviceName \"MongoDB1\"\nmongod --config \"C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod2.cfg\" --install --serviceName \"MongoDB2\"\nmongod --config \"C:\\Program Files\\MongoDB\\Server\\8.2\\bin\\mongod3.cfg\" --install --serviceName \"MongoDB3\"\n<\/code><\/pre>\n\n\n\n<p>Then start:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>net start MongoDB1\nnet start MongoDB2\nnet start MongoDB3\n<\/code><\/pre>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\">Done!<\/h3>\n\n\n\n<p>You now have a <strong>MongoDB 8.2 Replica Set<\/strong> running locally with:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Automatic data replication<\/li>\n\n\n\n<li>High availability<\/li>\n\n\n\n<li>Failover support<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>A replica set in MongoDB is a group of mongod instances that maintain the same data set, providing redundancy and high availability. Step-by-Step Setup for MongoDB 8.2 Replica Set We\u2019ll use three nodes (members) for demonstration: Step 1: Create Data Directories On your system, create separate data folders for each instance: (If on Linux\/macOS) Step [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-313","post","type-post","status-publish","format-standard","hentry","category-mongodb"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/313","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=313"}],"version-history":[{"count":1,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/313\/revisions"}],"predecessor-version":[{"id":314,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=\/wp\/v2\/posts\/313\/revisions\/314"}],"wp:attachment":[{"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=313"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=313"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mitalgoswami.in\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=313"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}