MongoDB 在 windows 与 Linux Centos上安装

环境部署一直是一个开发者头疼的事情,原本属于运维的工作,但是有时候不得不我们自己部署,求人不如求己。
技术越来越好,使得版本不停的更新换代,一段时间后,一个版本的部署安装和以往都有所差距,这就对没有经验的开发者产生的困难,而我们能做的可以把它记录下来,让后面的人能够跳过这些坑。

Linux Centos上部署 MongoDB

       1.   在服务器上下载压缩包     wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz
       2.   解压压缩包    tar zxvf mongodb-linux-x86_64-4.0.0.tgz
       3.   把解压后的文件夹移动到指定路径  mv mongodb-linux-x86_64-4.0.0 mongodb
       4.   在  /var 中创建 mongodb 的 数据存储与日志文件     
                a.  mkdir  mongodb
                b.  mkdir  mongodb/data
                c.  mkdir  mongodb/logs
                d.  touch mongodb/logs/mongodb.log

                                                                                               data
                                                                                             /
               最终Mongodb 文件存储目录  - / var / mongodb
                                                                                             
                                                                                               logs  -  mongodb.log                                                                   


       5.   启动 mongodb 服务, 在 / usr / local / mongodb / bin 中 启动
             ./mongod   --dbpath /var/mongodb/data   --logpath /var/mongodb/logs/mongodb.log  --fork
     
              --dbpath 对应数据库数据存储路径 ,  --logpath 对应数据库日志文件路径, --fork 能够让 mongodb 后台运行
     
               启动成功后,我们 通常还要 做数据库的认证,如果不做认证,定期黑客将会家访你的数据库,帮你清理清理。

port=27017 #端口
dbpath=/var/mongodb/data #数据库存文件存放目录
logpath=/var/mongodb/logs/mongodb.log #日志文件存放路径
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。

即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。

storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip=0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

##也可以使用配置方式启动  ./mongod -f /usr/local/mongodb/mongodb.conf

        *       mongodb 认证,首先我们在 bin 路径下 通过 ./mongo 进入控制台
                      
                ①  在 mongodb 控制台  use admin 我们切换到 admin 数据库
                ②  db.createUser({ user: 'root', pwd: '123456', roles: [  { role: 'root', db: 'admin' } ] }) 创建用户
                     版本不同,创建形式也不一样,有的版本是 db.createUser(), 而有些是db.addUser('root', '123456')

                ③  提示 Successfully 后,创建成功,依然 use admin 在 admin 数据库中,
                      输入 db.shutdownServer() 停止 mongodb 的服务, 
                ④  我们重新在 bin 目录上 启动 mongodb, 
                      ./mongod   --dbpath /var/mongodb/data   --logpath /var/mongodb/logs/mongodb.log  --fork  --auth
                      --auth 开启 mongodb 认证,认证就是通过用户登录的一种方式
                ⑤  启动服务后,我们再 ./mongo 进入控制台  ,  use admin 切换 admin数据库, db.auth('你的用户', '密码')
                      如果返回 1 ,则认证成功 , 0 失败。
                ⑥  这种认证用于控制台操作数据库时,认证。

windows上部署 MongoDB

          版本是    mongodb-win32-x86_64-2008plus-ssl-3.6.4-signed.msi
          ![image.png](https://upload-images.jianshu.io/upload_images/1965799-13b69a51f3354495.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

          选择 custom ,然后下一步,安装结束后,我们会得到一个 mongodb 文件, 进入 bin 目录,  windows 安装 mongodb 需要注意,需要先创建 mongodb 的服务 ,然后启动服务

                ①  创建 mongodb 的数据存储文件 与 日志文件,文件结构参考 以上 linux 安装
                ②  接下来,我们在 bin 目录启动并创建 mongodb 服务 ( 切记!一定要用 管理员身份启动 cmd ) 
                      ./mongod --dbpath xxxx  --logpath xxxx  --install -serviceName MongoDB
                      新版的mongodb ,在创建 mongodb 日志文件有所区别, 
                      mongodb.log 用户无需手动创建,否则会报错,已存在 is exist
                      如果回车后,没有反应,光标继续闪着,那就说明成功了,
                      这样,我们就创建了 mongodb 服务, 进入计算机管理 - 服务中启动 MongoDB 服务,如果启动报错, 
                      像譬如错误 1053 这种情况,可能是你没有用到管理员身份启动创建,或者 你可以看下 数据库数据存储文件目录
                       mongodb /data 在启动时mongodb 没有自动生成任何数据文件,导致启动错误。
                      
                ③  启动成功后,环境部署基本完成一大半了,接下来开始数据库的认证
                ④  做认证前,先不要开启认证,先 ./mongo 启动控制台,进入控制台后  use admin,
                      db.createUser({ user: 'root', pwd: '123456', roles: [  { role: 'root', db: 'admin' } ] }) 创建用户
                      版本不同,创建形式也不一样,有的版本是 db.createUser(), 而有些是db.addUser('root', '123456')
                ⑤  创建好角色后,把 windows 服务里的 MongoDB 删了, 以 管理员身份 打开 CMD 输入
                      sc delete MongoDB ,删除成功后,我们重新启动 MongoDB 并且 创建服务,在创建服务的同时开启
                      认证, ./mongod --dbpath xxxx  --logpath xxxx  --install -serviceName MongoDB --auth
                ⑥  启动后,进入 ./mongo 控制台  use admin, db.auth(xx,xx) 测试 是否认证成功


  如有错误,在下方评论我吧。


文章来源于互联网,如有雷同请联系站长删除:centos 安装 Mongodb

发表评论