MongoDB 安装
- 在MongoDB官网下载安装包
官网:https://www.mongodb.com/try/download/community
选择对应平台和软件包类型
在终端使用wget命令下载软件包
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.9.tgz
安装
- 解压tgz包
tar -xvzf mongodb-linux-x86_64-rhel70-5.0.9.tgz
- 移动到/usr/local文件夹
mv mongodb-linux-x86_64-rhel70-5.0.9 /usr/local/mongodb
- 写入系统环境变量
echo "export PATH=/usr/local/mongodb/bin:$PATH" >> /etc/profile
- 应用环境变量
source /etc/profile
- 解压tgz包
创建数据库目录并启动
默认情况下MOngoDB启动会初始化以下两个目录:
- 数据存储目录:
/var/lib/mongodb
- 日志文件目录:
/var/log/mongodb
如果需要自定义路径可以先按照以下步骤创建目录:
mkdir -p /home/graylog/mongodb/lib/mongo
mkdir -p /home/graylog/mongodb/log
chmod 777 /home/graylog/mongodb
启动mongodb服务:
mongod --dbpath /home/graylog/mongodb/lib/mongo --logpath /home/graylog/mongodb/log/mongo.log --fork
验证是否启动成功:
cat /home/graylog/mongodb/log/mongo.log
关闭mongodb:
mongod --dbpath /home/graylog/mongodb/lib/mongo --logpath /home/graylog/mongodb/log/mongo.log --shutdown
放行防火墙:
firewall-cmd --permanent --zone=public --add-port=27017/tcp --permanent
检查放行状态:
firewall-cmd --permanent --query-port=27017/tcp
使用systemctl管理mongodb
- 创建mongodb.service文件
touch /lib/systemd/system/mongodb.service 编辑mongodb.service文件
[Unit] Description=mongodb After=network.target [Service] Type=forking RuntimeDirectory=mongodb RuntimeDirectoryMode=0751 ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf PrivateTmp=false [Install] WantedBy=multi-user.target
创建mongodb.conf
vim /usr/local/mongodb/mongodb.conf
新增内容
# mongodb.conf # 数据库文件位置 dbpath=/home/graylog/mongodb/lib/mongo #日志文件的路径 logpath=/home/graylog/mongodb/log/mongo.log # 是否追加方式写入日志,默认True logappend=true # 设置绑定ip bind_ip = 127.0.0.1 # 设置端口 port = 27017 # 是否以守护进程方式运行,默认false fork = true # 启用日志文件,默认启用 journal=true # 启用定期记录CPU利用率和 I/O 等待,默认false #cpu = true # 是否以安全认证方式运行,默认是不认证的非安全方式 #noauth = true #auth = true # 详细记录输出,默认false #verbose = true #用于开发驱动程序时验证客户端请求 #objcheck = true # # 启用数据库配额管理,默认false #quota = true # 设置oplog日志记录等级,默认0 # 0=off (default) # 1=W # 2=R # 3=both # 7=W+some reads #oplog = 0 # 是否打开动态调试项,默认false #nocursors = true # 忽略查询提示,默认false #nohints = true # 禁用http界面,默认为localhost:28017 #nohttpinterface = true # 关闭服务器端脚本,这将极大的限制功能,默认false #noscripting = true # 关闭扫描表,任何查询将会是扫描失败 #notablescan = true # 关闭数据文件预分配 #noprealloc = true # 为新数据库指定.ns文件的大小,单位:MB # nssize = <size> # 用于Mongo监控服务器的Accout token。 #mms-token = <token> # Mongo监控服务器的服务器名称。 #mms-name = <server-name> # Mongo监控服务器的Ping间隔时间,即心跳 #mms-interval = <seconds> # Replication Options # 设置主从复制参数 #slave = true # 设置从节点 #source = master.example.com # 指定从节点的主节点 # Slave only: 指定要复制的单个数据库 #only = master.example.com # or #master = true # 设置主节点 #source = slave.example.com # 设置副本集的名字,所有的实例指定相同的名字属于一个副本集 #replSet = name #pairwith = <server:port> # 仲裁服务器地址 #arbiter = <server:port> # 默认为false,用于从实例设置。是否自动重新同步 #autoresync = true # 指定的复制操作日志(OPLOG)的最大大小 #oplogSize = <MB> # 限制复制操作的内存使用 #opIdMem = <bytes> # 设置ssl认证 # Enable SSL on normal ports #sslOnNormalPorts = true # SSL Key file and password #sslPEMKeyFile = /etc/ssl/mongodb.pem #sslPEMKeyPassword = pass
重载systemctl
systemctl daemon-reload
启动并设置开机启动
systemctl enable mongodb
systemctl start mongodb