MongoDB 安装、上手
netnr 2024-07-09

安装

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

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

登录写评论