### 安装 ``` vi /etc/yum.repos.d/mongodb-org-7.0.repo ``` 创建,输入以下内容 ``` [mongodb-org-7.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/7.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://pgp.mongodb.com/server-7.0.asc ``` ``` yum install -y mongodb-org # 安装 systemctl start mongod # 启动 systemctl daemon-reload # Failed to start mongod.service: Unit mongod.service not found. systemctl status mongod # 状态 systemctl enable mongod # 自启 systemctl stop mongod # 停止 systemctl restart mongod # 重启 # 停服务后 卸载 yum erase $(rpm -qa | grep mongodb-org) # 删除 MongoDB 数据库和日志文件 rm -r /var/log/mongodb rm -r /var/lib/mongo ``` 处理警告:vm.max_map_count is too low ``` sysctl -w vm.max_map_count=262144 ``` ref:https://stackoverflow.com/questions/51445846 ### 配置 ``` vi /etc/mongod.conf ``` #### 远程端口 默认为本机端口,开放远程端口,修改配置文件参数 `bindIp: 0.0.0.0` 遇到重启服务失败,删除 `/tmp/mongodb-27017.sock` 文件再启, ``` ls -lh /tmp/mongodb-27017.sock # 看到所属不为 mongod 则有问题 ``` #### 开启授权 创建账号之后 ``` security: authorization: enabled ``` ### 管理 ``` ls -lh /usr/bin/ | grep mongo* ``` #### mongosh ```sql show dbs -- 显示数据库 show users -- 显示用户 db.getUsers() db.system.users.find() db.getUser("admin") -- 查询单用户 db.system.users.find({user:"admin"}) use admin -- 切换到 admin -- 创建 root 用户 db.createUser({ user: "root", pwd: "Abc1230...", roles: [{ role: "root", db: "admin" }] }) -- 创建 管理员 db.createUser({ user: "admin", pwd: "admin", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] }) -- 删除用户 db.dropUser("admin") -- 删除所有用户 db.dropAllUsers() -- 删除用户 db.system.users.remove({user:"admin"}) -- 删除所有用户 db.system.users.remove({}) -- 身份验证 db.auth("admin", passwordPrompt()) -- 提示输入密码 db.auth("admin", "admin") -- 明文密码 -- 修改用户密码 db.changeUserPassword("admin", passwordPrompt()) db.changeUserPassword("admin", "123") db.updateUser("admin", {pwd:"123"}) ``` gui MongoDB Compass https://www.mongodb.com/try/download/compass