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