分类: Mysql/postgreSQL
2012-09-26 21:22:30
有一些第三方的工具,提供了一些可以让数据库进行读写分离的工具。我们现在是否有一个疑问,从库要是能进行查询就更好了,这样可以分担主库的大量的查询请求。
1、 先向主库中插入一条测试数据
[root@localhost bin]# ./mongo --port 28010 MongoDB shell version: 1.8.1 connecting to: 127.0.0.1:28010/test rs1:PRIMARY> db.c1.insert({age:30}) db.c2rs1:PRIMARY> db.c1.find() { "_id" : ObjectId("4fc77f421137ea4fdb653b4a"), "age" : 30 } |
2、 在从库进行查询等操作
[root@localhost bin]# ./mongo --port 28011 MongoDB shell version: 1.8.1 connecting to: 127.0.0.1:28011/test rs1:SECONDARY> show collections Thu May 31 22:27:17 uncaught exception: error: { "$err" : "not master and slaveok=false", "code" : 13435 } rs1:SECONDARY> |
当查询时报错了,说明是个从库且不能执行查询的操作
3、 让从库可以读,分担主库的压力
rs1:SECONDARY> db.getMongo().setSlaveOk() not master and slaveok=false rs1:SECONDARY> show collections c1 system.indexes rs1:SECONDARY> db.c1.find() { "_id" : ObjectId("4fc77f421137ea4fdb653b4a"), "age" : 30 } rs1:SECONDARY> |