mongodb 重启_MongoDB单机环境搭建

最近搭建过程的记录,亲测可用。

1,下载

去mongo的官网下载最新发行版,我安装的时候是4.2.7

2e33e24c295c070762555a980a310cca.png

2,规划

本次搭建的是单机环境,主要用于个人测试使用。

3,系统参数修改

官方建议的ulimit参数配置

c5aaa914b3c0f830e368c2818b435005.png
不使用hugepages

cat /proc/sys/vm/nr_hugepages

确保其值为零,如果不是请修改执行下面操作。

echo 0>/proc/sys/vm/nr_hugepages

echo never >> /sys/kernel/mm/transparent_hugepage/enabled

echo never >> /sys/kernel/mm/transparent_hugepage/defrag

防火墙端口

我这里规划使用11000端口,要提前打开。需root权限

firewall-cmd --zone=public --add-port=11000/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-ports

安装numactl

在NUMA架构的机器上,要以numactl运行,否则有告警

yum install numactl

4,开始部署

4.1 目录规划

~/mongo 放mongo安装文件

~/mongodata/data 放数据文件

~/mongodata/logs/mongod.log mongo运行日志

4.2 解压
cd ~/mongowget http://我自己的服务/U9gUl/mongodb-linux-x86_64-rhel70-4.2.7.tgztar -zxvf mongodb-linux-x86_64-rhel70-4.2.7.tgzcd mongodb-linux-x86_64-rhel70-4.2.7cd bin
4.3 配置文件

当前所在路径为 mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin

创建配置文件

mkdir confcd confvim mongod.conf

配置文件内容:

具体解释,可以看官方文档

https://docs.mongodb.com/manual/reference/configuration-options/#file-format

systemLog:  destination: file  path: "/home/xxx/mongodata/logs/mongod.log"    logAppend: truestorage:  journal:      enabled: true  dbPath: "/home/xxx/mongodata/data"  directoryPerDB: true  engine: wiredTiger  wiredTiger:      engineConfig:          cacheSizeGB: 1          directoryForIndexes: true          journalCompressor: zlib      collectionConfig:          blockCompressor: zlib      indexConfig:          prefixCompression: truenet:bindIp: 0.0.0.0  port: 11000processManagement:  fork: true
4.4 启动脚本

写个start.sh,以后方便点

numactl --interleave=all /home/haieradmin/mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin/mongod -f ./conf/mongod.conf
chmod +x start.sh
4.5 启动
sh start.sh
4.6 关闭
./mongod --shutdown -f ./conf/mongod.conf

5 配置管理员用户

登录

./mongo localhost:11000

会看到有告警

** WARNING: Access control is not enabled for the database.

应该以认证的安全模式使用mongo。否则都能登录mongo。

先切到admin库下,默认是在test库。这点容易忘记

use admin
db.createUser({user: "admin", pwd: "Hello,123", roles:[{role:"root", db:"admin"}]})

现在用auth模式重启,解决warning

修改start.sh

numactl --interleave=all /home/haieradmin/mongo/mongodb-linux-x86_64-rhel70-4.2.7/bin/mongod --auth -f ./conf/mongod.conf

重启mongo。重新登录,要加上用户名密码

./mongo localhost:11000 -u admin -p Hello,123 --authenticationDatabase admin

6, 创建普通用户及业务数据库

记得切到admin库下

use admindb.createUser({ user: 'baas', pwd: 'hibaas',roles: [ { role: "dbOwner", db: "baas_bbs" }] })

切到baas_bbs库下

插入一条数据试试

use baas_bbsdb.testCollection.save({"name":"yunsh","age":"18"})

WriteResult({ "nInserted" : 1 })

ok,完成

END

60a4261e05d86b725661f1c8922c6958.png

感谢阅读

4df899ecd230339f1f4d1124a6719bbe.png
84a474bbabc8fb86cd77f269a0e8a2e8.gif

感谢关注 - 技术笔记与开源分享

只写自己验证过的内容

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值