002.MongoDB社区版安装
一 前期准备
1.1 相关软件包介绍
1.2 其他准备
关闭SELinux或防火墙放通相应策略(端口)(本实验直接关闭)。
二 安装及启动——RPM包形式
2.1 配置yum源
1 [root@mongodb1 ~]# cd /etc/yum.repos.d/ 2 [root@mongodb1 yum.repos.d]# vi mongodb.repo 3 [mongodb-org-4.0] 4 name=MongoDB Repository 5 baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ 6 gpgcheck=1 7 enabled=1 8 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
提示:奇数次要版本(例如3.5)是开发版本,不适合生产使用。本实验采用最新4.0版本,更多repo配置参考见:https://repo.mongodb.org/yum/redhat/。
此yum源在国外,建议替换为国内阿里云镜像,参考如下:
1 [root@mongodb1 yum.repos.d]# vi mongodb.repo 2 [mongodb-org-4.0] 3 name=MongoDB Repository 4 baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/4.0/x86_64/ 5 gpgcheck=1 6 enabled=1 7 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
2.2 yum安装
1 [root@mongodb1 ~]# yum install -y mongodb-org
注意:以上安装方式任选一种即可,本安装指南仅支持64位系统。
2.3 运行MongoDB
1 [root@mongodb1 ~]# systemctl start mongod.service 2 [root@mongodb1 ~]# systemctl enable mongod.service 3 [root@mongodb1 ~]# systemctl status mongod.service
三 正式安装——tar包形式
3.1 下载tar包
1 [root@mongodb2 ~]# yum -y install libcurl openssl #安装依赖包 2 [root@mongodb2 ~]# wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.0.9.tgz
3.2 解压MongoDB包
1 [root@mongodb2 ~]# tar -zxvf mongodb-linux-x86_64-rhel70-4.0.9.tgz 2 [root@mongodb2 ~]# mv mongodb-linux-x86_64-rhel70-4.0.9 /usr/local/mongodb
3.3 添加PATH路径
1 [root@mongodb2 ~]# echo "export PATH=/usr/local/mongodb/bin::$PATH" >> .bashrc
3.4 创建默认MongoDB相关目录
1 [root@mongodb2 ~]# useradd mongod -d /var/lib/mongo -s /bin/false -c mongod 2 [root@mongodb2 ~]# mkdir -p /var/log/mongodb 3 [root@mongodb2 ~]# mkdir -p /var/run/mongodb/ 4 [root@mongodb2 ~]# chown -R mongod:mongod /var/log/mongodb 5 [root@mongodb2 ~]# chown -R mongod:mongod /var/run/mongodb/ 6 [root@mongodb2 ~]# chown -R mongod:mongod /var/lib/mongo
注意:以上安装方式任选一种即可,本安装指南仅支持64位系统。
通过下载tar包形式安装,未创建默认的MongoDB目录及用户,需要如上所示手动创建并授权即可。
3.3 运行MongoDB
1 [root@mongodb2 ~]# vi /etc/mongod.conf #创建默认配置文件,可参考https://docs.mongodb.com/manual/reference/configuration-options/ 2 systemLog: 3 destination: file 4 logAppend: true 5 path: /var/log/mongodb/mongod.log 6 storage: 7 dbPath: /var/lib/mongo 8 journal: 9 enabled: true 10 processManagement: 11 fork: true 12 pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile 13 timeZoneInfo: /usr/share/zoneinfo 14 net: 15 port: 27017 16 bindIp: 127.0.0.1 17 [root@mongodb2 ~]# mongod --config /etc/mongod.conf --chuid mongodb:mongodb #指定配置文件运行
提示:可通过命令行直接运行,也可通过指定配置文件(基于YAML格式)的形式运行,如命令行mongod --port对应配置文件参数为net.port,具体命令行和配置文件参数对应表见:
https://docs.mongodb.com/manual/reference/configuration-file-settings-command-line-options-mapping/#conf-file-command-line-mapping。
3.4 添加启动脚本
1 [root@mongodb2 ~]# vi /usr/lib/systemd/system/mongod.service 2 [Unit] 3 Description=MongoDB Database Server 4 After=network.target 5 Documentation=https://docs.mongodb.org/manual 6 7 [Service] 8 User=mongod 9 Group=mongod 10 Environment="OPTIONS=-f /etc/mongod.conf" 11 EnvironmentFile=-/etc/sysconfig/mongod 12 ExecStart=/usr/local/mongodb/bin/mongod $OPTIONS 13 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb 14 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb 15 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb 16 PermissionsStartOnly=true 17 PIDFile=/var/run/mongodb/mongod.pid 18 Type=forking 19 LimitFSIZE=infinity 20 LimitCPU=infinity 21 LimitAS=infinity 22 LimitNOFILE=64000 23 LimitNPROC=64000 24 LimitMEMLOCK=infinity 25 TasksMax=infinity 26 TasksAccounting=false 27 28 [Install] 29 WantedBy=multi-user.target
提示:参考链接,将其中DAEMON,即mongod路径改为:/usr/local/mongodb/bin/mongod即可。
四 修改MongoDB默认参数
4.1 非默认配置修改
1 systemLog: 2 …… 3 path: /var/log/mongodb/mongod.log #可指定新路径 4 5 storage: 6 dbPath: /var/lib/mongo #可指定新数据目录 7 …… 8 net. 9 port: 27017 #可指定新运行端口
提示:若MongoDB未采用默认路径及端口可通过以上方式进行修改即可。
五 连接及使用MongoDB
5.1 连接MongoDB
mongo命令可在与MongoDB相同的主机上启动shell mongod,通过没有任何命令行选项的mongo运行shell,以mongod使用默认端口2701 连接到localhost上运行的shell:
1 [root@mongodb ~]# mongo 2 …… 3 >
作者:木二
出处:http://www.cnblogs.com/itzgr/
关于作者:云计算、虚拟化,Linux,多多交流!
本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接!如有其他问题,可邮件(xhy@itzgr.com)咨询。