我有一个应用程序连接到一个名为讨论的MongoDB数据库。 我创build了一个用户 Mongo shell: > use discussions switched to db discussions > db.auth("discussions","XXXXXXXXX") 1 > show users { "_id" : "discussions.discussions", "user" : "discussions", "db" : "discussions", "roles" : [ { "role" : "dbOwner", "db" : "discussions" } ] } 所以这是为了确认我在数据库上有一个帐户,它是一个dbOwner。 根据文档,它具有读取,写入等权限。 configuration文件启用了属性“auth = true”,并且该服务自更改后不止一次地被反弹。 但是,问题是,当我尝试从外部的shell连接到数据库时,我总是得到错误: mongo discussions -u 'discussions' -p 'XXXXXXXXX' MongoDB shell version: […]
我在Live VPS上安装了MongoDB来写日志。 服务器运行在Ubuntu 10.04 LTS上,Mongodb版本是2.0.3。 我想升级到最新版本(2.0.5),但我只想升级MongoDB。 我使用apt-get升级在我的桌面上进行testing,升级后一切正常。 但是在我的VPS上,我更喜欢只更新MongoDB。 任何帮助表示赞赏。
我正在尝试使用代理MongoDB的REST接口的HTTPvalidation来设置反向代理。 到目前为止,我有这样的: server { listen 80; server_name tld.example.com; charset utf-8; access_log /home/jill/logs/nginx.access.log main; # Redirect all HTTP traffic to HTTPS URL rewrite ^(.*) https://tld.example.com$1 permanent; } server { listen 443; server_name tld.example.com; ssl on; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 SSLv3; ssl_ciphers HIGH:!ADH:!MD5:@STRENGTH; ssl_session_cache shared:TLSSL:16m; ssl_session_timeout 10m; ssl_certificate /path/to/cert/tld.example.com.bundle.crt; ssl_certificate_key /path/to/cert/tld.example.com.key; gzip on; gzip_vary on; gzip_comp_level 6; […]
我可以使用命令行命令closuresmongoDB吗? 我使用MacOSX,但它可能与Linux中类似。 如果没有,有人知道我怎么可以做一个脚本,将进入mongo shell并closures服务器?
阅读MongoDB有关如何configuration集群的主从configuration文档(我们的集群将有超过12个节点,所以不幸的是我们不能有一个副本集configuration),我怎么能促进一个奴隶没有掌握不得不停止任何进程? 有没有我们可以使用的命令,比如Redis的slaveof命令,它可以让我们在不需要重启进程的情况下促使一个奴隶主宰呢? 这是我们在MongoDB文档中find的( http://docs.mongodb.org/manual/core/master-slave/ ): 要从不可用或损坏的主站(以下示例中的A)永久故障切换到从站(B): closuresA.停止B上的mongod。备份并从dbpath中移动以B上的本地开头的所有数据文件。 警告删除本地。*是不可撤销的,不能撤消。 请谨慎执行此步骤。 使用–master选项重新启动m上的B。 注意这是一次性操作,不可逆。 A完成重新同步之前,不能成为B的奴隶。 这真的是唯一的方法吗?
我想用Mongo初始化脚本启动支持auth的MongoDB守护进程: sudo /etc/init.d/mongod start 我也已经将数据库用户添加到数据库进行身份validation。 我正在处理两个文件: /etc/init.d/mongod (用于init)和/etc/mongod.conf (用于configuration)。 #mongod.conf: dbpath=/var/lib/mongodb logappend=true port = 27017 auth = true 非守护进程方法使用–auth标志正确启动进程: mongod –auth 该分支工作,但是这不使用init脚本: mongod –fork –auth –logpath /var/log/mongod.log 阅读所有文档和相关的post,似乎没有任何工作的解决scheme来获得auth支持 service mongod start 链接: 用init脚本启动进程的奇怪行为 http://docs.mongodb.org/manual/administration/configuration/ 通过暴发户设置mongodb – 如何通过选项? 更新:我重新安装了Debian / Mongo,并且能够在conf文件中使用service mongod start和auth = true 。 我可能在最初的安装/configuration期间破坏了某些东西。
我试图按照build议设置mongo 256或更低的readahead,我查看了任何指导的文档 ,我发现这个: Ensure that readahead settings for the block devices that store the database files are appropriate. For random access use patterns, set low readahead values. A readahead of 32 (16kb) often works well. For a standard block device, you can run sudo blockdev –report to get the readahead settings and sudo blockdev –setra […]
我正在testingMongoDB的档案数据。 我们有一个160M行的集合。 MongoDB实例在12 Gb物理内存盒上占用76.2 Gb虚拟内存;-)交换空。 我读了虚拟内存=物理+交换。 我的情况怎么了? 这是mongoDB本身的问题吗? 谢谢
我目前正在编写过程pipe理软件。 我们使用的一个包是mongo。 推出mongo和 mongod –fork –logpath=/my/path/mongo.log –logappend 和 nohup mongod >> /my/path/mongo.log 2>&1 < /dev/null & ? 我的第一个想法是–fork可以产生更多的进程和/或线程,我build议–fork可以用来改变有效的用户(降级权限)。 但是我们运行在同一个用户(进程pipe理器和mongod)之下,那么还有其他的区别吗? 谢谢
背景: 我在一台移动教练机上安装了一些AIO应用程序机器(运行带有rails + mongodb + chromium的ubuntu)来显示信息,偶尔用户可能会把某些数据的chuck改成mongodb。 现在,机器的电源是恒定的,主驾驶员随时可以关机。 机器有2个分区,第一个是aufs for /,另外一个是ext4 for mongodb / data目录。 但在断电的瞬间,没有数据input到数据库。 问题: 每次由于断电(每几个小时)机器重新启动,mongodb将在其目录中保留一个mongod.lock文件。 在/etc/rd.local中我试图删除每个启动的locking文件,但它有时仍然拒绝启动。 这导致我的应用程序启动失败。 根据官方文档: http : //www.mongodb.org/display/DOCS/Durability+and+Repair ,我仍然有一些无法启动的场合。 在上述的常规电源故障情况下运行mongodb的最佳做法是什么? 没有投入额外的硬件。