windows安装MongoDB副本集,通过Java程序实现数据的插入与查询
我本地的环境 MongoDB 4.0 jdk 1.7.x ? 安装参考主要博客 https://blog.csdn.net/wanght89/article/details/77677271#commentBox(记得安装完对解压包做个备份) 按照该网址安装过程中,遇到一些问题的解决方法: 1. 多了一个"g",应为 config_set={"_id":"mySet",members:[{_id:0,host:"127.0.0.1:27111"},{_id:1,host:"127.0.0.1:27112"},{_id:2,host:"127.0.0.1:27113"}]} ? 2.启动MongoDB的时候,要进入相应的bin目录 mongod -port 27111 -dbpath D:MongoDBmatserdb -logpath D:MongoDBmatserlogmongod.log -replSet mySet -logappend mongod -port 27112 -dbpath D:MongoDBslavedb -logpath D:MongoDBslavelogmongod.log -replSet mySet -logappend mongod -port 27113 -dbpath D:MongoDBarbiterdb -logpath D:MongoDBarbiterlogmongod.log -replSet mySet -logappend ? 3.设置仲裁节点 rs.addArb("192.168.32.138:27017") 或者? rs.add("host:port",{arbiterOnly:true}) ? 4.默认情况下SECONDARY节点不能读写,要设置slaveOK为true才行 db.getMongo().setSlaveOk() 或 rs.slaveOk() ? 5.停止MongoDB服务 db.shutdownServer() ? 7.如果某一个节点不能启动了,删除db下的所有文件以及文件夹,将备份中的data中的所有复制到刚删除的db中,重启即可成功 ? 8.插入测试数据 db.say.insert({"text":"hello world"}); ? 9.创建用户名、密码 mongo --port 27017 use admin db.createUser( { user: "adminUser",pwd: "adminPass",roles: [ { role: "userAdminAnyDatabase",db: "admin" } ] } ) ? 10.Java代码 package com.alibaba.fescar.dubbo; import java.util.ArrayList; import java.util.List; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBObject; import com.mongodb.MongoClient; import com.mongodb.ServerAddress; public class ReplSetTest { public static void main(String[] args) { try { List<ServerAddress> addresses = new ArrayList<ServerAddress>(); ServerAddress address1 = new ServerAddress("127.0.0.1",27111); ServerAddress address2 = new ServerAddress("127.0.0.1",27112); ServerAddress address3 = new ServerAddress("127.0.0.1",27113); addresses.add(address1); addresses.add(address2); addresses.add(address3); MongoClient client = new MongoClient(addresses); DB db = client.getDB( "test" ); DBCollection coll = db.getCollection("say"); BasicDBObject object = new BasicDBObject(); object.append( "name","user28"); DBObject dbObject = coll.findOne(object); BasicDBObject obj = new BasicDBObject(); obj.put("name","3333"); obj.put("age",330); obj.put("sex",2); coll.insert(obj); System.out .println(dbObject); } catch (Exception e) { e.printStackTrace(); } } } ? pom.xml <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.10.0.RELEASE</version> </dependency> <dependency> <groupId>org.mongodb</groupId> <artifactId>mongo-java-driver</artifactId> <version>3.2.2</version> </dependency> ? 数据库显示 ? 参考的网址: http://www.cnblogs.com/ivictor/p/6795418.html https://blog.csdn.net/a463620704/article/details/83790566 https://blog.csdn.net/wanght89/article/details/77677271#commentBox https://blog.csdn.net/fuck487/article/details/78287362 https://blog.csdn.net/com_it/article/details/84702046 https://blog.csdn.net/com_it/article/details/84702046 https://blog.csdn.net/yisun123456/article/details/79161279 https://blog.csdn.net/sunbocong/article/details/78642947 https://blog.csdn.net/dickysun1987/article/details/81077421 https://blog.csdn.net/com_it/article/details/84702046 https://blog.csdn.net/q36835109/article/details/78831598/ https://blog.csdn.net/caofeiliju/article/details/80194815 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
- 为什么我的WPF应用程序中出现“无法加载DLL’sqlite3’”?
- 在Microsoft Dynamics CRM(OData)中的单个请求中创建多个实
- windows – 为什么单击子窗口并不总是将应用程序带到前台?
- windows-server-2003 – 查询服务器的CNAME的DNS
- microsoft-graph – Microsoft Graph上的批量限制为5?
- windows-8 – 在Windows应用商店应用中使用嵌入字体
- 如何开通open***
- .net – ‘System.Windows.Data.Binding’类型的对象无法转
- REPL挂在SublimeREPL for Clojure(Windows PC)