1.添加MongoDB仓库 其实MongoDB已经在Ubuntu的默认仓库中了,只是它并不是最新版。建议使用官方的MongoDB仓库,添加key: $ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6 添加源: $ echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
2.安装MongoDB $ sudo apt-get update $ sudo apt-get install mongodb-org
3.启动MongoDB服务 $ sudo systemctl start mongod $ sudo systemctl status mongod
开机自启: $ sudo systemctl enable mongod MongoDB源代码:https://github.com/mongodb/mongo mongoDB文档:https://docs.mongodb.com/manual/
4.MongoDB安全设置 MongoDB的登陆认证默认是关闭的,本地系统的任意用户都可以访问数据库,并且拥有全部访问权限。为了提高数据库安全,下面来开启认证功能并创建一个管理员用户。 进入Mongo shell: $ mongo 创建一个管理员用户: > use admin # 切换数据库 > db.createUser( { user: "NewAdmin", pwd: "Test1234", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] }) https://docs.mongodb.com/manual/core/authentication/ 执行exit命令或CTRL-C退出Mongo shell。 编辑mongod.conf开启authorization,这样用户需要提供用户名和密码才能操作mongo(没登陆认证也可以连接)。 $ sudo vim /etc/mongod.conf 去掉#security:前的注释并添加一行,如下: . . . security: authorization: "enabled" . . . 重启mongodb使配置生效: $ sudo systemctl restart mongod
使用新创建的管理员用户登陆: $ mongo -u NewAdmin -p --authenticationDatabase admin
5.配置远程访问 编辑mongod.conf配置文件,添加: . . . net: port: 27017 bindIp: 127.0.0.1,IP_of_MongoHost . . . 重启mongod。 $ mongo -u NewAdmin -p --authenticationDatabase admin --host IP_of_MongoHost 可以使用ufw防火墙限制哪些客户端可连接。 |