在CentOS7上安装MongoDB的步骤

摘要

在使用GCP租借的服务器上安装MongoDB时的备忘录。

条件

    • OS: CentOS Linux release 7.6.1810 (Core)

 

    後述の手順は、基本的にルート権限のユーザで実行している前提とする

请参照「公式引入的步骤」,因为这里也是按照那个步骤进行的。

步骤1:安装MongoDB

创建存储库

创建名为/etc/yum.repos.d/mongodb-org-4.0.repo的仓库文件。

sudo vi /etc/yum.repos.d/mongodb-org-4.0.repo

将存储库文件的内容设置为以下所示。

[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

安装

将所有问题默认为“是”作答,并进行最新安装。

sudo yum install -y mongodb-org

顺便提一句,如果想指定任何版本进行安装,请按以下方式操作。

sudo yum install -y mongodb-org-4.0.6 mongodb-org-server-4.0.6 mongodb-org-shell-4.0.6 mongodb-org-mongos-4.0.6 mongodb-org-tools-4.0.6

执行版本显示命令以确认是否已输入

mongod -version

开动

sudo systemctl start mongod

确认如何启动

# 確認コマンド
$ sudo systemctl status mongod

# 結果
● mongod.service - MongoDB Database Server
   Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled)
   # 以下が 「active (running)」 になっていれば OK.
   Active: active (running) since Sun 2019-03-03 15:36:18 JST; 30s ago
     Docs: https://docs.mongodb.org/manual
   :

默认的启动端口是 27017 号。

SELinux的配置

执行命令以确认 SELinux 的配置状况。(如果为 Permissive 模式,则跳过此步骤。)

# 確認コマンド
$ getenforce

# 結果: Permissive なら何もしなくて良い
Permissive

如果SELinux已启用,请使用以下命令进行临时禁用(尽管应该正确设置,但这次不做)。

setenforce 0

步骤2: 创建管理用户并启用认证功能

管理用户注册

# MongoDB に入る
mongo

# admin データベースに接続する。
use admin

# 管理ユーザを登録
db.createUser({user:"admin", pwd:"Zaq12wsx", roles:[{role:"root", db:"admin"}]})

# ユーザの存在確認
db.getUsers()

# もしくは以下でもユーザ確認できる (パスワードはハッシュ化されているので文字列になっている)
db.system.users.find()

管理用户注册时请注意以下事项。

    • user: 管理者 ID を適当に決めてください(任意)。上記は一例。

 

    • pwd: 適当なパスワードを決めてください(任意)。上記は一例。

 

    roles: 上記に記載のとおりに書いてください(固定)

啟用 MongoDB 驗證功能 (第一部分)

# 一度 MongoDB から抜ける
exit

# 認証・認可を有効にして再起動
mongod --auth --dbpath /var/lib/mongo

MongoDB认证启用(第2部分)

如果那个带有认证的重新启动命令发生错误,请尝试使用这个。

# 一度 MongoDB から抜ける
exit

# 一度 MongoDB サービスを停止
sudo systemctl stop mongod

# 設定ファイルを編集 (sudo 不要でできるならそれで OK)
sudo vi /etc/mongod.conf

在设置文件的末尾直接添加以下描述。
(由于已经有一个名为”security”的行,因此取消注释并进行修正)

:
# 認証機能を使用しない場合, 下記をコメントアウト
security:
  authorization: enabled

设置完成后,重新启动MongoDB。

# MongoDB サービス再開
sudo systemctl start mongod

通过这个完成了认证设置。即使可以使用mongo命令进入,但是在执行搜索、注册和更新等操作时会显示认证错误的说明。

使用mongo命令,使用-u参数指定用户ID,-p参数指定密码,-authenticationDatabase参数指定认证数据库admin,以登录mongo。
登录成功后,使用use admin命令,然后执行db.auth(“管理员ID”, “密码”)登录,并可以进行搜索、注册、更新等操作。

如果服务器中记录了命令日志等信息,不推荐使用前一种方法。(因为密码信息会被记录在历史中)

以上で、MondoDB的建立以及认证设置已经完成。

附加:卸载MongoDB的方法

请完成以下任务。

sudo yum remove mongodb-org*
sudo rm -r /var/log/mongodb /var/lib/mongo

如果你在遇到某个错误后感到困惑的话,取决于数据的情况,删除上述内容然后重新安装也是一种方法。

广告
将在 10 秒后关闭
bannerAds