1. 官网:

Synopsis

This tutorial outlines the basic installation process for installing MongoDB on Ubuntu Linux systems. This tutorial uses .deb packages as the basis of the installation. 10gen publishes packages of the MongoDB releases as .deb

This tutorial includes: an overview of the available packages, instructions for configuring the package manager, the process for installing packages from the 10gen repository, and preliminary MongoDB configuration and operation.



注解

If you use an older Ubuntu that does not use Upstart, (i.e. any version before 9.10 “Karmic”) please follow the instructions on the 在Debian上安装 tutorial.



也可以参考

The documentation of following related processes and concepts.

Other installation tutorials:



封装选项

The 10gen repository contains three packages:

  • mongodb-10gen
    This package contains the latest stable release. Use this for production deployments.
  • mongodb20-10gen
    This package contains the stable release of v2.0 branch.
  • mongodb18-10gen
    This package contains the stable release of v1.8 branch.

You cannot install these packages concurrently with each other or with the mongodb

10gen also provides packages for “unstable” or development versions of MongoDB. Use the mongodb-10gen-unstable



安装MongoDB



配置包管理系统 (APT)

The Ubuntu package management tool (i.e. dpkg and apt) ensure package consistency and authenticity by requiring that distributors sign packages with GPG keys. Issue the following command to import the 10gen public GPG Key:



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

 


 

Create a /etc/apt/sources.list.d/10gen.list



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

 


 

Now issue the following command to reload your repository:



sudo apt-get update



 



安装包

Issue the following command to install the latest stable version of MongoDB:



sudo apt-get install mongodb-10gen

 


 

When this command completes, you have successfully installed MongoDB! Continue for configuration and start-up suggestions.



配置MongoDB

These packages configure MongoDB using the /etc/mongodb.conf file in conjunction with the control script. You will find the control script is at /etc/init.d/mongodb.

This MongoDB instance will store its data files in the /var/lib/mongodb and its log files in /var/log/mongodb, and run using the mongodb



注解

If you change the user that runs the MongoDB process, you will need to modify the access control rights to the /var/lib/mongodb and /var/log/mongodb



控制MongoDB



启动MongoDB

You can start the mongod process by issuing the following command:



sudo service mongodb start

 


 

You can verify that mongod has started successfully by checking the contents of the log file at /var/log/mongodb/mongodb.log.



停止MongoDB

As needed, you may stop the mongod process by issuing the following command:



sudo service mongodb stop



 



重启MongoDB

You may restart the mongod process by issuing the following command:



sudo service mongodb restart



控制 mongos

As of the current release, there are no control scripts for mongos. mongos is only used in sharding deployments and typically do not run on the same systems where mongod runs. You can use the mongodb script referenced above to derive your own mongos



使用MongoDB

Among the tools included with the MongoDB package, is the mongo



mongo

 


 

This will connect to the database running on the localhost interface by default. At the mongo prompt, issue the following two commands to insert a record in the “test” collection of the (default) “test” database.



> db.test.save( { a: 1 } ) > db.test.find()

 


 



也可以参考

“mongo” and “mongo Shell JavaScript 快参

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


 

安装完成后,MongoDB服务器会自动启动,我们检查MongoDB服务器程序



# 检查MongoDB服务器系统进程
~  ps -aux|grep mongo
mongodb   6870  3.7  0.4 349208 39740 ?        Ssl  10:27   2:23 /usr/bin/mongod --config /etc/mongodb.conf

# 通过启动命令检查MongoDB服务器状态
~  netstat -nlt|grep 27017
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN

# 通过启动命令检查MongoDB服务器状态
~ sudo /etc/init.d/mongodb status
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mongodb status

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the status(8) utility, e.g. status mongodb
mongodb start/running, process 6870

# 通过系统服务检查MongoDB服务器状态
~ sudo service mongodb status
mongodb start/running, process 6870



 

通过web的控制台,查看MongoDB服务器的状态。在浏览器输入 http://ip:27017 ,就可以打开通过web的控制台了。

http://localhost:27017

看到如下内容,即表明服务已经启动了:

It looks like you are trying to access MongoDB over HTTP on the native driver port.

3. 一些安装问题:

couldn't connect to server 127.0.0.1:27017 at src/mongo/shell/mongo.js:145

可以测试重新安装:



sudo apt-get install --reinstall mongodb