让我们来安装MongoDB吧~用户认证和备份/还原~(Windows)
MongoDB 4.0.9 Windows10
MongoDB 4.0.9 适用于 Windows10。
为了能够在网络上的多个终端安全地使用多个数据库,我们希望防止管理员或指定的应用以外的人访问数据库。
在设置MongoDB服务器之后,配置使其支持用户认证,同时也讨论了备份/恢复的问题。
安装
从官方网站下载并安装MongoDB。
对于Windows 4版及以上的版本,如果选择默认安装,它应该会自动安装为Windows服务,因此需要确认Windows服务是否已安装成功。
查看 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