Debian 9 部署 MongoDB

安装MongoDB

从官方的MongoDB repo安装

curl https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

创建文件
/etc/apt/sources.list.d/mongodb-org-4.4.list
内容
deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.4 main

更新包缓存
apt update

安装mongodb
apt-get install mongodb-org

启动mongod服务

systemctl enable mongod
systemctl start mongod

检查服务和数据库

执行systemctl status mongod,服务在运行,并且监听27017端口,表示正常

执行mongo --eval 'db.runCommand({ connectionStatus: 1 })'
输出版本和状态信息表示正常

MongoDB shell version v4.4.5
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("05bc2877-0f68-45e0-9b10-ab46b9bbaf8f") }
MongoDB server version: 4.4.5
{
        "authInfo" : {
                "authenticatedUsers" : [ ],
                "authenticatedUserRoles" : [ ]
        },
        "ok" : 1
}

监听地址配置
修改/etc/mongod.conf
bindIp为监听地址

数据库和用户管理

终端登录
mongo

数据库管理

创建数据库
use DATABASE_NAME
如果数据库不存在,则创建数据库,否则切换到指定数据库

查看所有数据库
show dbs

查看数据库可能看不到刚创建的数据库,因为此时数据库没有数据

用户管理

创建全局用户

use admin
db.createUser({user:"root",pwd:"admin",roles:["root"]})

为数据库创建用户
db.createUser({user: "im", pwd: "imdev", roles: [{ role: "dbOwner", db: "im" }]})

查看全局用户
切换数据库use admin
认证db.auth('root','admin')
查看用户db.system.users.find().pretty()

查看当前库下的用户
切换数据库use im
查看用户show user

异常处理

Mongodb启动报错mongod.service: Failed with result 'exit-code'.
删除mongodb-27017.sock
重启MongoDB

参考:
https://www.howtoing.com/how-to-install-mongodb-on-debian-9
https://www.runoob.com/mongodb/mongodb-create-database.html
https://www.cnblogs.com/b02330224/p/10049395.html
https://www.cnblogs.com/panchanggui/p/9628955.html