在Azure中安装MongoDB

在Azure上部署MongoDB的过程中,我做了一份备忘录。请参考以下网站上的操作步骤。
在Azure上运行CentOS Linux虚拟机并安装MongoDB

环境

OpenLogic CentOS 7.0是一种操作系统,MongoDB 2.6.5是一种数据库软件。

虚拟机设置

■ 在Azure门户上创建虚拟机后,通过SSH访问虚拟机
首先进行更新。

$ sudo yum update

■ 连接数据光盘
将光盘连接到在Azure门户上创建的虚拟机上。
暂时分配了10GB的空间。

■ 初始化数据磁盘
确认最后添加的数据磁盘

$ sudo grep SCSI /var/log/messages

划分分区

$ sudo fdisk /dev/sdc

使用n指令创建新的分区
使用p指令查看磁盘的详细信息
使用w指令将设置写入

格式化数据光盘

$ sudo mkfs -t ext4 /dev/sdc1

挂载数据光盘

$ sudo mkdir /datadrive
$ sudo mount /dev/sdc1 /datadrive

挂载设置

$ sudo -i blkid
/dev/sda1: UUID="11111111-1b1b-1c1c-1d1d-1e1e1e1e1e1e" TYPE="ext4"
/dev/sdb1: UUID="22222222-2b2b-2c2c-2d2d-2e2e2e2e2e2e" TYPE="ext4"
/dev/sdc1: UUID="33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e" TYPE="ext4"

在/etc/fstab文件中添加内容。

UUID=33333333-3b3b-3c3c-3d3d-3e3e3e3e3e3e  /datadrive  ext4  defaults  1  2

确认插件

$ sudo umount /datadrive
$ sudo mount /datadrive

安装MongoDB

创建/etc/yum.repos.d/mongodb.repo。

[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1

安装MongoDB

$ sudo yum install mongo-10gen mongo-10gen-server

创建数据目录

$ sudo mkdir -p /mnt/datadrive/data
$ sudo chown `id -u` /mnt/datadrive
$ sudo chown `id -u` /mnt/datadrive/data

编辑配置文件 jí zhì

logpath=/mnt/datadrive/mongod.log
dbpath=/mnt/datadrive/data

启动(初次启动会花费一些时间)

$ mongod --config /etc/mongod.conf

启动状态下检查日志文件。

$ tail --f /mnt/datadrive/mongod.log

用户设置

访问控制

$ mongo

# データベース管理権限
> use admin
> db.createUser({
    user: "[user]",
    pwd: "[password]",
    roles: [
      {
        role: "userAdminAnyDatabase",
        db: "admin"
      }
    ]
  })

# 特定データベース管理権限
> use [database]
> db.createUser({
    user: "[user]",
    pwd: "[password]",
    roles: [
      {
        role: "userAdmin",
        db: "[database]"
      }
    ]
  })

# ユーザーが追加されているか確認
> use admin
> db.system.users.find()

关闭MongoDB。

$ mongo
> use admin
> db.shutdownServer()

在设置文件中追加以下内容以启用认证功能。

auth=true

启动MongoDB并进行身份验证检查

$ mongo
> use admin
# 成功なら1が返る
> db.auth("[user]","[password]")
广告
将在 10 秒后关闭
bannerAds