分享 MongoDB 生产环境的安装与配置 (Ubuntu)

hisea · 2011年12月13日 · 最后由 satoshigi 回复于 2014年03月12日 · 25563 次阅读

刚弄了个博客,顺便做个广告: http://hisea.me

前提条件

Ubuntu

安装 10Gen 的 GPG key

$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10

编辑 source.list 文件添加 10gen 源

$ sudo vi /etc/apt/sources.list

添加:

deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen

安装 MongoDB

sudo apt-get update
sudo apt-get install mongodb-10gen

为 MongoDB 的运行目录添加权限

$ sudo chown mongodb /var/lib/mongodb

这样 MongoDB 就安装好了。

启动和关掉 mongodb 可以运行。

$ sudo service mongodb stop
$ sudo service mongodb start

配置信息保存在 /etc/mongodb.conf

如果想改变端口可以修改

port=27017

默认情况下,mongodb 可以接受任何连接,不需要用户名密码。

生产环境我们有两种选择

1.建立用户名密码

$ mongo
> use admin
switched to db admin
> db.addUser("username","password")

建立好用户名以后,需要开启连接时用用户名登陆

在/etc/mongodb.conf 中添加

auth=true

2.只接受本地连接

在/etc/mongodb.conf 中添加:

bind_ip=127.0.0.1

这样只有来自本地的连接才能连到 MongoDB

学习了!

@hisea 谢谢了,

希望多介绍介绍 Ubuntu. Mac book 不是每个人都用的起啊!!!!!!!

讲得非常清晰明了。多谢。

hi,我这边按照你的方法设置了之后,用 Robomongo 连接是可以连接上的,但是 shell 中用 mongo 命令进入到数据库,都是没有权限啊,这个什么原因,想请教一下? 用用户名进入也直接是没有权限:

mongo -u username -p password

错误信息如下:

Error: 18 { code: 18, ok: 0.0, errmsg: "auth fails" } at src/mongo/shell/db.js:228
exception: login failed

我可以确定的是用户名和密码都是正确的!

正在装,表示体积还真不小

#3 楼 @huacnlee 你竟然可以直接发赞,哈哈

ubuntu13.10 在'sudo apt-get install'的时候总是说

W: 无法下载 gzip:/var/lib/apt/lists/partial/packages.linuxdeepin.com_ubuntu_dists_raring_main_binary-i386_Packages  Hash 校验和不符

是那个源的问题吗?

9 楼 已删除
satoshigi 非常曲折地探索 mongodb 不能开 提及了此话题。 04月03日 10:57
需要 登录 后方可回复, 如果你还没有账号请 注册新账号