mongo数据库开启日志功能

查看当前配置:

mongo -u root -pCjxx-2023 --authenticationDatabase admin
#查看日志等级,默认为0不记录日志
db.getLogComponents()
# 在 Mongo Shell 中查看启动命令:
> db.adminCommand({getCmdLineOpts: 1})
cat > /data/soft/docker/mongodb/mongod.conf << 'EOF'
# mongod.conf
# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/
# Where and how to store data.
storage:
dbPath: /data/db
journal:
  enabled: true
# engine:
# mmapv1:
# wiredTiger:
# where to write logging data.
systemLog:
verbosity: 1
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# network interfaces
net:
port: 27017
bindIp: 0.0.0.0
#processManagement:
security:
authorization: enabled
#operationProfiling:
#replication:
#sharding:
## Enterprise-Only Options:
#auditLog:
#snmp:
EOF


#永久生效需要进行以下配置:
#编辑启动命令指定配置文件
mkdir -p /home/data/taiyuan/mongo-3-new/logs
touch /home/data/taiyuan/mongo-3-new/logs/mongod.log

chmod 777 /home/data/taiyuan/mongo-3-new/logs
chmod 666 /home/data/taiyuan/mongo-3-new/logs/mongod.log

docker run -d \
 --name mongo-3-new \
 --restart always \
 -p 7018:27017 \
 -v /home/data/taiyuan/mongo-3-new/conf/mongod.conf:/etc/mongod.conf \
 -v /home/data/taiyuan/mongo-3-new/dbdata:/data/db \
 -v /home/data/taiyuan/mongo-3-new/logs:/var/log/mongodb \
 -e MONGO_INITDB_ROOT_USERNAME=root \
 -e MONGO_INITDB_ROOT_PASSWORD=Cjxx-2023 \
mongo:3.4 \
 --config /etc/mongod.conf \
 --wiredTigerCacheSizeGB 4

配置后检查:

#宿主机:
ls -l /home/data/taiyuan/mongo-3-new/logs
#进入容器
ls -l /var/log/mongodb/*.log
tail -f /var/log/mongodb/mongod.log
mongo -u root -pCjxx-2023 --authenticationDatabase admin
db.adminCommand({getParameter: 1, logLevel: 1})
#应该输出:{ "logLevel" : 1, "ok" : 1 }
show dbs
show collections

#查询操作会在日志文件中输出,类似:
2026-01-12T07:16:21.782+0000 I COMMAND [conn1] command admin.$cmd appName: "MongoDB Shell" command: listDatabases { listDatabases: 1.0 } numYields:0 reslen:212 locks:{ Global: { acquireCount: { r: 8 } }, Database: { acquireCount: { r: 3 } } } protocol:op_command 0ms
2026-01-12T07:16:21.782+0000 I COMMAND [conn1] command test.$cmd appName: "MongoDB Shell" command: isMaster { isMaster: 1.0, forShell: 1.0 } numYields:0 reslen:174 locks:{} protocol:op_command 0ms
image-20260114132413175

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部