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://img.haomeiwen.com/i1965799/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) 测试 是否认证成功
如有错误,在下方评论我吧。
网友评论