在Ubuntu 14上安装和配置MongoDB

时间:2020-01-09 10:40:53  来源:igfitidea点击:

说明

MongoDB是最流行的开源NoSQL数据库解决方案之一。
MongoDB能够实现并保持比任何关系数据库(例如Microsoft SQL)都更高的高性能,即使在通过将大量逻辑卸载给应用程序来存储PB级数据的情况下。这些类型的数据库不受严格的方案约束。与关系数据库相比,它们还可以更轻松,更有效地进行扩展,这意味着一旦存储了无法想象的应用程序数据量,存储起来就容易得多。

安装MongoDB

  • 导入MongoDB软件包管理系统使用的公钥。
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
  • 为MongoDB创建一个智能源文件,该文件用于查询MongoDB的程序包管理系统。
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
  • 刷新本地软件包数据库。
sudo apt-get update
  • 安装最新的稳定版MongoDB。
sudo apt-get install -y mongodb-org

启动和停止MongoDB

在Ubuntu上,默认情况下,MongoDB将在安装后自动启动。但是,有时会需要启动或者停止数据库服务器。

  • 启动MongoDB
service mongod start
  • 停止MongoDB
service mongod stop
  • 重新启动MongoDB
service mongod restart

创建数据库

我们的开发人员可以通过其应用程序动态创建数据库。但是,出于安全原因,最好事先创建它们,以便我们增加一些限制。

  • 登录到MongoDB控制台
mongo
  • 我们可能已经意识到,我们可以在没有任何凭据的情况下访问服务器。甚至缺少此功能,我们也能够创建和管理数据库。我们将在本教程的稍后部分讨论安全性。
  • 使用use命令创建数据库。但是我还没有创建数据库!如果数据库不存在,则use命令将创建它。
use mydatabase

创建用户帐户

为了使我们开始保护MongoDB服务器的安全,我们需要帐户。一些帐户用于我们的应用程序来存储和检索数据,而其他帐户则用于服务器上的操作。

创建一个根管理员帐户

我们可能希望至少拥有一个对Mongo和所有创建的数据库具有完全特权的帐户。

  • 访问Mongo控制台。
  • 将数据库设置为管理员
use admin
  • 运行以下命令,用我们自己的用户和密码替换。理想情况下,此帐户不应命名为root。
db.createUser(
{
    user:"superuser",
    pwd:"super-secret-password",
    roles:["root"]
}
)

创建应用服务帐户

每个应用程序都应该有自己的帐户,并且每个帐户都应具有有限的特权,以允许我们必须运行该特权才能运行应用程序。除非应用程序的目的是成为MongoDB的管理前端,否则应用程序将无法创建用户帐户。

  • 如果尚未登录,请登录Mongo控制台。
  • 选择我们将使用的应用程序数据库。如果尚不存在,它将自动创建。
use myapp
  • 为应用程序创建服务帐户,更改环境的用户和pwd值。
db.createUser(
{
   user:"app1user",
   pwd:"secret-password',
   roles: [
      { role: "readWrite", db:"myapp"}
   ]
}
)