# MongoDB安装 [官网](https://www.mongodb.com/try/download/community) 1.下载MongoDB ```bash wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-6.0.1.tgz ``` - 说明:一定要选择对系统版本,因为下载的包为二进制包,可以直接运行的 2.解压并改路径 ```bash tar zxf mongodb-linux-x86_64-rhel80-6.0.1.tgz -C /usr/local mv /usr/local/mongodb-linux-x86_64-rhel80-6.0.1 /usr/local/mongodb ``` 3.定义PATH ```bash vi /etc/profile.d/mongedb.sh ##增加或者修改 export PATH=$PATH:/usr/local/mongodb/bin #使环境变量生效 source /etc/profile.d/mongedb.sh ``` 4.编辑配置文件 ```bash mkdir /usr/local/mongodb/{conf,logs} mkdir -p /data/mongodb vi /usr/local/mongodb/conf/mongodb.conf #添加如下内容,注意有缩进 ``` ``` systemLog: #MongoDB发送所有日志输出的目标指定为文件 destination: file #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径 path: "/usr/local/mongodb/logs/mongodb.log" #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾 logAppend: true storage: #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod dbPath: "/data/mongodb" journal: #启用或禁用持久性日志以确保数据文件保持有效和可恢复。 enabled: true processManagement: #启用在后台运行mongos或mongod进程的守护进程模式。 fork: true #指定用于保存mongos或mongod进程的进程ID的文件位置,其中mongos或mongod将写入其PID pidFilePath: "/usr/local/mongodb/logs/mongod.pid" #从中加载时区数据库的完整路径 timeZoneInfo: /usr/share/zoneinfo net: #服务实例绑定所有IP,有副作用,副本集初始化的时候,节点名字会自动设置为本地域名,而不是ip #bindIpAll: true #服务实例绑定的IP,0.0.0.0让所有机器都能连接。 bindIp: 0.0.0.0 #bindIp #绑定的端口 port: 27017 ``` 5.编辑systemd服务管理脚本 ```bash vi /lib/systemd/system/mongodb.service #写入如下内容 ``` ``` [Unit] Description=mongodb After=network.target remote-fs.target nss-lookup.target [Service] User=mongodb Type=forking ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf ExecReload=/bin/kill -s HUP $MAINPID ExecStop=/bin/kill -QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target ``` 6.创建用户,修改权限 ```bash useradd -s /sbin/nologin mongodb chown -R mongodb /data/mongodb /usr/local/mongodb ``` 7.启动服务 ```bash systemctl daemon-reload systemctl start mongodb systemctl enable mongodb ``` 8.检测 ```bash ps aux |grep mongo netstat -lntp |grep 27017 ```