mongodb基础系列—主从复制具体搭建以及解说
距离上次的mongodb有一段日子了,当时说好了要尽快更新这块,但是由于各种事情,就暂时搁置下来。回头看看自己第一篇博客,竟然是半年以前,oh,my god,我和我的小伙伴们都惊呆了。
不过还是鼓起勇气,go on……
以前博客中,也曾介绍过java操作mongodb的事例,那么这篇博客就不再介绍命令行下增删改查了。因为mongodb集成了shell命令,同时对javascript也有很好的集成,在命令行下就可以操作简单的javascript。
比如for 循环。 for(var i=0;i<3;i++){db.my.insert({name:"test",age:18})} 其中my是自定义集合collection。你可以试试,肯定没问题,若有问题,直接call me
之所以不过多介绍这块,因为在控制台下可以直接查看其api,并且mongodb有方法补全功能哦,类似java ide环境,再次方便了我们。
在控制台下,按一次tab键,mongodb可以自动补全,这就是shell命令的好处。同时,在控制台下,直接敲相应的方法,不要加括号,即可打印其api哦。比如db.my.update;快试试哦。
OK,转到今天的主题。
主从复制:master-slave模式。通俗的来说,主服务器copy到从服务器中,从而保证了两者同步一致。这样的好处就不言而喻喽,若主服务器坏了,哈哈,莫怕,从服务器中还有哩。但是从服务器中有归有哈,却不能自动转正哈。【咋感觉有点像小妾呢,O(∩_∩)O】
不过啊,先不说他的缺点,来看看他的优点,人呢,就不能太贪,一口可不能吃个胖子哦。
主从复制,自动保持同步,这样就不用咱们手动维护喽。以前原来的项目,咋保证数据的安全呢?首先insert到这个数据库中,因为当时数据很重要,所以需要备份,然后insert success后,再insert another database中。所以在测试insert功能时,就可以去喝杯咖啡~\(≧▽≦)/~啦
手动测试一下这个功能。
1.准备阶段:因为一个服务器,所以建两个文件夹来模拟:master文件夹、slave文件夹。注意开启两个不同的端口。
2.启动主节点:mongod --dbpath E:\E:\mastersavle\master --port 10000 --master
启动从节点:mongod --dbpath E:\E:\mastersavle\master\slave --port 10001 --slave --source localhost:10000
注意是两个控制台哦。
启动效果如下:
3.再开启一个窗口,连接10000主服务器。然后我们插入一条数据,然后看效果。
默认是连接test服务器,那么使用类似mysql的use 切换数据库。 use my; 注意:执行这条语句,若存在my数据库,则直接切换,若不存在,则隐含创建一个,此时你查看文件夹下,则看不到,因为是隐含,只有你insert数据后,才可以看到这个my数据库。
db.my.insert({name:"test"});插入一条数据,同时创建了my集合(表),可以通过db;命令查看当前数据库。通过db.showtables;或者db.showcollections;查看该数据库下的表。system.index默认有这个表,这是存放索引的表,稍后有时间我们再讨论这块。
4.主服务器中插入后,我们看看从数据库中的效果:
注意:从服务器中只可以查询,不可以insert、delete、update。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>