让我们来安装MongoDB吧~用户认证和备份/还原~(Windows)

MongoDB 4.0.9 Windows10

MongoDB 4.0.9 适用于 Windows10。

为了能够在网络上的多个终端安全地使用多个数据库,我们希望防止管理员或指定的应用以外的人访问数据库。

在设置MongoDB服务器之后,配置使其支持用户认证,同时也讨论了备份/恢复的问题。

安装

从官方网站下载并安装MongoDB。
对于Windows 4版及以上的版本,如果选择默认安装,它应该会自动安装为Windows服务,因此需要确认Windows服务是否已安装成功。

2019-08-29_15h49_47.png

查看 MongoDB 的属性,发现执行文件的路径是什么。

"C:\Program Files\MongoDB\Server\4.0\bin\mongod.exe" --config "C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg" --service

应该是这样的。这个mongod.cfg文件将作为配置文件。稍后进行修改。

创造用户

在默认设置中,Mongo可以在无需认证的情况下使用。
首先,为每个使用MongoDB的应用程序创建仅能使用其数据库的用户。
同时,创建一个可以创建用户的用户管理用户。

在MongoDB服务器运行的终端上执行以下命令。

即使没有数据库,突然使用“hoge”也没有问题。

mongo

use hoge
db.createUser(
    {
        user: "userForHoge",
        pwd: "PASSWORD",
        roles:
        [
            {
                role: "readWrite",
                db: "hoge"
            }
        ]
    }
)

use fuga
db.createUser(
    {
        user: "userForFuga",
        pwd: "PASSWORD",
        roles:
        [
            {
                role: "readWrite",
                db: "fuga"
            }
        ]
    }
)

use admin
db.createUser(
    {
        user: "userAdmin",
        pwd: "PASSWORD",
        roles:
        [
            {
                role: "userAdminAnyDatabase",
                db: "admin"
            }
        ]
    }
)

以后将添加用户认证功能,当您希望以后使用新的数据库时,首先需要使用userAdmin作为登录账号登录,并创建用户,然后使用该用户进行登录。

配置 mongod.cfg

以下为编辑MongoDB服务器服务启动时读取的配置文件C:\Program Files\MongoDB\Server\4.0\bin\mongod.cfg并重新启动MongoDB服务器服务的方法。

变更如下:

    • dbとlogの場所を使いやすい場所に(指定したpahtは既に存在する必要がある)

 

    • bindIp: 0.0.0.0 → すべてのIPアドレスから接続を許可

 

    • authorization: enabled → ユーザ認証を有効に

 

    ※コメントは消してあります
storage:
  dbPath: C:\path\to\db\
  journal:
    enabled: true

systemLog:
  destination: file
  path:  C:\path\to\mongo.log

net:
  port: 27017
  bindIp: 0.0.0.0

security:
    authorization: enabled

登录

在完成到这一步后,可以通过网络来检查mongo命令、Compass或应用程序。必须进行用户认证才能进行读写操作。

数据库:在hoge的情况下,作为URL

mongodb://userForHoge:PASSWORD@ホスト名:27017/hoge

如果你只需要一个选项,以下是对”mongoコマンドなら”的中国翻译:
如果是mongo命令。

mongo -u userForHoge -p PASSWORD --authenticationDatabase hoge

※”authenticationDatabase”选项指示验证用户的所在位置。用户会被创建在这个数据库中,但也可以被授权在其他数据库进行操作。

在创建新的数据库时,
1. 登录到 mongodb://userAdmin:PASSWORD@主机名:27017/admin,并创建一个已授权的用户来访问数据库。
2. 登出。
3. 使用创建的用户登录。

备份MongoDB

以数据库为单位进行备份。

mongodump -u USER -p PASSWORD -d DBNAME --gzip --archive=C:\Garamon\Backup\DevHub

# ※古いmongodは--gzip、--archiveオプションが効かない
mongodump -u USER -p PASSWORD -d DBNAME C:\Garamon\Backup\DevHub

恢复备份

带上备份文件,按数据库进行恢复。
– 使用”drop”选项会删除当前的数据。

mongorestore -u USER -p PASSWORD --authenticationDatabase DBNAME --drop --gzip --archive=C:\Garamon\Backup\DevHub\archive.gz

# ※古い端末からのdumpの場合ディレクトリになっている
mongorestore -u USER -p PASSWORD --authenticationDatabase DBNAME -d DBNAME --drop DBNAME 
广告
将在 10 秒后关闭
bannerAds