Ticket #16 (closed defect: close)
数据写入安全问题讨论
| Reported by: | lisiliang | Owned by: | somebody |
|---|---|---|---|
| Priority: | major | Milestone: | 电脑报价 |
| Component: | component1 | Version: | 1.0 |
| Keywords: | Cc: | ||
| Due Date: |
Description
mongodb 默认的写入是没有阻塞的,数据是否成功写入数据库是不做检查机制的,前段会立即返回,
这样对数据是不安全的。
连接池写法需要增加 安全选项:
safe=true|false
w=1|2
李思亮(李思亮) 11:31:33
现在开发的这几个mongodb的应用,写数据库又没有做确认?
李思亮(李思亮) 11:31:48
getlasterror()
陈小虎(陈小虎) 11:31:51
没有
李达荣(李达荣) 11:31:53
没有
李思亮(李思亮) 11:32:09
或者连接池加相关的配置
李达荣(李达荣) 11:32:12
驱动应该会报错的 写不进的话
李思亮(李思亮) 11:32:24
不会报错的
李达荣(李达荣) 11:32:24
李达荣(李达荣) 11:32:28
so 狠
李思亮(李思亮) 11:33:58
在连接池上做一下吧
李思亮(李思亮) 11:34:08
这样安全点
李思亮(李思亮) 11:35:25
safe=true|false
w=2
如果采用复制的话
陈小虎(陈小虎) 11:35:19
确认了我们也无能为力哦。
李思亮(李思亮) 11:35:55
陈小虎(陈小虎) 11:35:19
确认了我们也无能为力哦。
什么意思?
李思亮(李思亮) 11:36:47
safe=true|false
w=2
这俩选项 由驱动程序保证最少写两台数据库,才会返回
李思亮(李思亮) 11:37:06
w=1
也可以
陈小虎(陈小虎) 11:38:15
缺省是写一台就返回吧?
李思亮(李思亮) 11:38:54
缺省时,提交到数据库,就返回,而不管是否写成功
陈小虎(陈小虎) 11:39:20
这样快啊。
李思亮(李思亮) 11:39:31
是啊
李思亮(李思亮) 11:39:50
所以,可能一台也写不成功
李思亮(李思亮) 11:40:14
磁盘满了时候,也不会报错,还在傻傻的向里面写
李达荣(李达荣) 11:42:35
我记得 好像会报错的
李达荣(李达荣) 11:42:40
满了的话
李思亮(李思亮) 11:42:54
不会
李思亮(李思亮) 11:43:16
前端不会报错
李思亮(李思亮) 11:43:20
会一直跑
李思亮(李思亮) 11:43:49
数据库日志会报错,文件无法扩展
陈小虎(陈小虎) 11:43:57
这样适合r-server使用。哈哈
李达荣(李达荣) 11:44:39
小虎 他不是把前面的挤出去的
李达荣(李达荣) 11:44:53
而是停滞了
陈小虎(陈小虎) 11:47:27
我这里不用管。
李思亮(李思亮) 11:47:45
报价库前台先加上去测试下吧
李思亮(李思亮) 11:48:06
李达荣,一会刘娟回来了,过来看看那个配置怎么写
李达荣(李达荣) 11:48:06
好
李思亮(李思亮) 11:48:37
bbs 用户分析哪里也要加
李达荣(李达荣) 11:48:31
其实这边同r-server一样的
李达荣(李达荣) 11:48:40
只是做缓存
王俊(王俊) 11:52:55
连接池的配置是问刘娟吗?
李达荣(李达荣) 11:53:24
不是把 池是驱动管理的
李思亮(李思亮) 11:54:11
在连接池上加 上上面的选项
李思亮(李思亮) 11:54:21
bbs 用w=1
李思亮(李思亮) 11:54:31
只有一台机
陈小虎(陈小虎) 11:54:34
我加个命令行参数,指定就可以了。呵呵,可以随时调整
李思亮(李思亮) 11:55:02
http://www.mongodb.org/display/DOCS/Connections
李思亮(李思亮) 11:55:14
具体连接池的选项看看这个文档
![(please configure the [header_logo] section in trac.ini)](http://www1.pconline.com.cn/hr/2009/global/images/logo.gif)