• mongoDB安装教程


    安装及操作命令

    1. cd /opt
    2. wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.4.0.tgz
    3. tar -zxvf mongodb-linux-x86_64-3.4.0.tgz
    4. #修改文件夹名字为mongodb-3.4.0
    5. mv mongodb-linux-x86_64-3.4.0 mongodb-3.4.0
    6. # 在/opt/mongodb-3.4.0/conf目录下创建mongo.conf
    7. # 内容如下------------------
    8. # 存储引擎相关参数
    9. storage:
    10. dbPath: /opt/mongodb-3.4.0/data/mongodb
    11. journal:
    12. enabled: true
    13. mmapv1:
    14. smallFiles: true
    15. engine: wiredTiger
    16. # 如下配置仅对 wiredTiger 引擎生效(3.0 以上版本)
    17. wiredTiger:
    18. engineConfig:
    19. configString: cache_size=1G
    20. cacheSizeGB: 5
    21. # 进程相关参数
    22. processManagement:
    23. fork: true
    24. # 日志相关参数
    25. systemLog:
    26. destination: file
    27. logAppend: true
    28. path: /opt/mongodb-3.4.0/logs/mongodb.log
    29. # 网络相关参数
    30. net:
    31. # 这个端口改成其它的就是无法连接,不知道为啥,还是使用默认的
    32. port: 27017
    33. bindIp: 0.0.0.0
    34. maxIncomingConnections: 10000
    35. # 自定义变量
    36. setParameter:
    37. enableLocalhostAuthBypass: false
    38. # 安全相关参数,先启动去配置用户不要打开下面的配置。
    39. #security:
    40. # authorization: enabled
    41. # 启动脚本
    42. /opt/mongodb-3.4.0/bin/mongod --config=/opt/mongodb-3.4.0/conf/mongo.conf
    43. # 创建用户
    44. /opt/mongodb-3.4.0/bin/mongo
    45. # 数据库
    46. use admin
    47. db.createUser({user: "mongoadmin", pwd: "mongoAdmin@1116", roles: [ { role: "root", db: "admin" } ]})
    48. db.auth('mongoadmin','mongoAdmin@1116')
    49. exit
    50. # 然后去修改配置文件,把下面的放开,然后用navicat去连接,使用刚才的账号就可以连接了
    51. # 安全相关参数,先启动去配置用户不要打开下面的配置。
    52. security:
    53. authorization: enabled
    54. # 然后linux放开端口
    55. # linux添加8080端口
    56. firewall-cmd --zone=public --add-port=8080/tcp --permanent
    57. #删除80端口
    58. firewall-cmd --zone=public --remove-port=8080/tcp --permanent
    59. # 刷新使端口立即生效
    60. firewall-cmd --reload
    61. # 阿里云放开端口

    连接

    如果你配置了账号密码,那么连接的时候就要输入数据库及账号密码,如果没有配置,连接的时候就不要选择password,选择none。

    配置参数详解

    注意yml不是2个空格为一个层级,不是tab。

    systemLog日志相关参数

    1. systemLog:
    2. verbosity: <int> #日志级别,默认0,1-5均会包含debug信息
    3. quiet: #安静,true时将会减少日志的输出量
    4. traceAllExceptions: #打印异常详细信息
    5. syslogFacility: #启用syslog指定用于登录时信息到syslog Facility水平,前提是
    6. path: #日志路径
    7. logAppend: #追加日志还是新建日志
    8. logRotate: rename|reopen #日志轮询。默认值rename;reopen前提为 logAppend: true
    9. destination: #日志输出目的地,可为file或syslog,不指定会输出到标准输出
    10. timeStampFormat: #日志时间戳格式,有 ctime,Iso869-utc,iso8691-local
    11. component: #为不同的组件指定各自的日志信息级别
    12. accessControl:
    13. verbosity: <int>
    14. command:
    15. verbosity: <int>

    storage存储引擎相关参数

    1. storage:
    2. dbPath: #数据存储目录
    3. indexBuildRetry: #构件索引时mongod意外关闭,启动是否重建索引,默认true
    4. repairPath: #在repair期间临时数据目录
    5. journal:
    6. enabled: <boolean> #journal日志是否持久存储,通常用于数据故障恢复,建议开启
    7. commitIntervalMs: #mongod日志刷新值,范围1-500毫秒,默认100,不建议修改
    8. directoryPerDB: #是否将不同的数据存储在不同的目录中,需为dbPath子目录
    9. syncPeriodSecs: <int> #fsync操作将数据flush到磁盘的时间间隔,默认为60秒,不建议修改
    10. engine: #存储引擎类型,3.2前默认 mmapv1,3.2后默认WiredTiger
    11. wiredTiger: #存储引擎配置
    12. engineConfig:
    13. cacheSizeGB: #最大缓存大小
    14. journalCompressor: #日志压缩算法,可选值有 none,snappy(默认),zlib
    15. directoryForIndexes: #是否将索引和集合数据分别存储在dbPath单独的目录中
    16. collectionConfig:
    17. blockCompressor: #collection数据压缩算法,可选none, snappy,zlib
    18. indexConfig:
    19. prefixCompression: #是否对索引数据使用前缀压缩。可有效减少索引数据的内存使用量。

    processManagement进程相关参数

    1. processManagement:
    2. fork: <boolean> #是否以守护进程运行,默认false
    3. pidFilePath: #将mongod进程ID写入指定文件,默认不会创建

    net网络相关参数

    1. net:
    2. prot: <int> #监听端口,默认27017
    3. bindIp: #绑定IP,如果此值是“0.0.0.0”则绑定所有接口
    4. maxIncomingConnections: <int> #进程允许的最大连接数,上限是系统阈值(ulimit)
    5. wireObjectCheck: <boolean> #当客户端写入数据时,是否检查数据的有效性(BSON),有效的数据才执行
    6. ipv6: #是否支持多实例之间使用ipv6
    7. http: #http配置
    8. enabled: <boolean>
    9. JSONEnabled: <boolean>
    10. RESTInterfaceEnabled: <boolean>
    11. ssl: #https配置
    12. sslOnNormalPorts: <boolean>
    13. mode:
    14. PEMKeyFile:
    15. PEMKeyPassword:
    16. clusterFile:
    17. clusterPassword:
    18. CAFile:
    19. CRLFile:
    20. allowConnectionsWithoutCertificates: <boolean>
    21. allowInvalidCertificates: <boolean>
    22. allowInvalidHostnames: <boolean>
    23. disabledProtocols:
    24. FIPSMode: <boolean>
    25. compression:
    26. compressors:

    security安全相关参数

    1. security:
    2. authorization: enabled #MondoDB认证功能
    3. keyFile: /path/mongo.key #MongoDB副本集节点身份验证密钥文件
    4. clusterAuthMode: #集群members间的认证模式
    5. transitionToAuth: <boolean>
    6. javascriptEnabled: <boolean> #是否允许执行JavaScript脚本
    7. redactClientLogData: <boolean>
    8. sasl:
    9. hostName:
    10. serviceName:
    11. saslauthdSocketPath:
    12. enableEncryption: <boolean>
    13. encryptionCipherMode:
    14. encryptionKeyFile:
    15. kmip:
    16. keyIdentifier:
    17. rotateMasterKey: <boolean>
    18. serverName:
    19. port:
    20. clientCertificateFile:
    21. clientCertificatePassword:
    22. serverCAFile:
    23. ldap:
    24. servers:
    25. bind:
    26. method:
    27. saslMechanism:
    28. queryUser:
    29. queryPassword:
    30. useOSDefaults: <boolean>
    31. transportSecurity:
    32. timeoutMS: <int>
    33. userToDNMapping:
    34. authz:
    35. queryTemplate:

    operationProfiling慢查询相关参数

    1. operationProfiling:
    2. slowOpThresholdMs: <int> #“慢查询”的时间阈值,单位毫秒(默认100ms)
    3. mode: #数据库profiler级别,可选值“off|slowOp|all”
    4. # 数据库profiling会影响性能,建议只在性能调试阶段开启,mongod会把慢查询记录到日志中

    replication副本集相关参数

    1. replication:
    2. oplogSizeMB: <int> #replication操作日志的最大尺寸,如果太小则全量同步
    3. replSetName: #副本集名称,副本集中所有的mongod实例都必须有相同的名字
    4. secondaryIndexPrefetch: #副本集中的secondary,从oplog中应用变更操作前,会先把索引加载到内存
    5. enalbeMajorityReadConcern: <boolean> #允许readConcern的级别为“majority”

    sharding分片相关参数

    1. sharding:
    2. clusterRole: #在sharding集群中的角色。configsvr(27019)|shardsvr(27018)
    3. archiveMovedChunks: #当chunks迁移后,是否归档并保存这些chunks在dbPath/movechunk目录下

    setParameter自定义变量

    1. setParameter:
    2. :
    3. :
    4. enableLocalhostAuthBypass: false #栗子

    auditLog审计相关参数

    1. auditLog:
    2. destination: #指定审计记录的输出方式,有syslog|console|file
    3. format: #输出格式,有JSON 和 BSON
    4. path: #如果输入为文件,那么指定文件完整路径及文件名
    5. filter: #过滤器,可限制审计系统记录的操作类型

  • 相关阅读:
    【Java基础夯实】变量声明选择包装类还是基本类型有哪些讲究?
    【算法】 高精度的加法计算(大数加法)
    抖音商家找达人带货怎么给链接?抖音带货操作方法分享
    一幅长文细学Vue(一)——项目开发工具
    “蔚来杯“2022牛客暑期多校训练营3,签到题CAJHF
    实操新项目丨手把手带你开发疫情防控系统
    MongoDB 6.1 及以上版本使用配置文件的方式启动报错 Unrecognized option: storage.journal.enabled
    AOSP编译系统演进:从Make到Ninja的技术升级(Android13)
    实现支持 MJPEG 的播放器
    TorchV的RAG实践分享(三):解析llama_index的数据存储结构和召回策略过程
  • 原文地址:https://blog.csdn.net/renkai721/article/details/134499422