在 Linux 上 CentOS 系统中安装 MongoDB 数据库 - 文章教程

在 Linux 上 CentOS 系统中安装 MongoDB 数据库

发布于 2020-06-04 字数 4207 浏览 959 评论 0

在网上找了很多这方面的教程,很难安装成功,有些是系统环境不一样,有些根本就安装不成功,只是当时作者在安装的时候成功了,换个环境就安装不上,这篇文章是我找了多个安装教程的总结。

登录 Linux 切换到 /usr 目录

下载 MongoDB 安装包

cd /usr
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.0.tgz

解压 mongodb-linux-x86_64-4.0.0.tgz 文件

tar zxvf mongodb-linux-x86_64-4.0.0.tgz

重命名为 mongodb 文件夹

mv mongodb-linux-x86_64-4.0.0 mongodb

配置环境变量

vim /etc/profile

在 export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 一行的上面添加如下内容:

#Set Mongodb
export PATH=/usr/mongodb/bin:$PATH

保存后通过下面的命令使环境变量生效:

source /etc/profile

创建数据库目录并设置权限

cd /usr/mongodb
touch mongodb.conf
mkdir db
chmod 777 db
mkdir log
chmod 777 log
cd log
touch mongodb.log

编辑配置文件

vim /usr/mongodb/mongodb.conf

输入下面的配置信息

port = 27017 #端口
dbpath = /usr/mongodb/db #数据库存文件存放目录
logpath = /usr/mongodb/log/mongodb.log #日志文件存放路径
logappend = true #使用追加的方式写日志
fork = true #以守护进程的方式运行,创建服务器进程
maxConns = 100 #最大同时连接数
noauth=true #不启用验证
journal = true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时 wiredtiger 会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复。
storageEngine = wiredTiger  #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 127.0.0.1  #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB

注意如果你的 mongodb 的文件不是在 /usr 目录下,需要修改上面配置的相关路径。

启动 mongodb

mongod -f /usr/mongodb/mongodb.conf #启动
mongod --shutdown -f /usr/mongodb/mongodb.conf #停止

另外如果在写数据的时候重启系统,会导致 Mongodb 报错,严重的甚至无法启动,我有一次就是系统无法响应,直接重启了系统,然后 Mongodb 死活启动不了,最后删除了重新配置。

配置外网访问 Mongodb

外网访问是不安全的,但是我们设置足够强大的密码,应该还是可以放心使用。

修改配置文件

vim /usr/mongodb/mongodb.conf

noauth 设置 falsebind_ip 修改为 0.0.0.0,新增一行 auth = true

登录到数据库

mongo

使用 admin 数据库

use admin

给 admin 数据库添加管理员用户名和密码,用户名和密码请自行设置

db.createUser({user:"admin", pwd:"123456", roles:["root"]})

验证是否成功,返回1则代表成功

db.auth("admin", "123456")

切换到要设置的数据库,以 test 为例

use test

为 test 创建用户,用户名和密码请自行设置。

db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]})

输入 exit 退出数据库管理。

附录1:CentOS 防火墙配置

默认情况下,CentOS 的防火墙是开启的,而我们 27017 端口外部是无法访问,我们需要配置下防火墙。

在 /usr/lib/firewalld/services 目录新建 mongodb.xml 文件

touch mongodb.xml

输入下面的内容

<?xml version="1.0" encoding="utf-8"?>
<service>
<short>mongodb</short>
<description>mongodb tcp</description>
<port protocol="tcp" port="27017"/>
</service>

执行下面命令添加端口

firewall-cmd --permanent --add-service=mongodb

重启防火墙

systemctl stop firewalld.service
systemctl start firewalld.service

如果你要是嫌麻烦,你可以直接禁止防火墙

systemctl disable firewalld.service

查看防火墙的状态

systemctl status firewalld.service

删除端口

firewall-cmd --permanent --remove-service=mongodb

附录2:vim 常规操作

刚开始打开文件的时候是查看模式,此时不能编辑文件,但是如果你的剪切板有内容,点击鼠标右键是能够粘贴的,但是还是查看模式。

按键盘的 Ins 键进入 Insert 模式,此时可以自由的编辑了。

编辑完了按 Esc 退出编辑模式,保存并退出按 :wq,如果不想保存 :q!

查找内容,在查看模式,按斜杠 / 输入查找内容,按 Enter 进入编辑模式。

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

目前还没有任何评论,快来抢沙发吧!

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

2583 文章
29 评论
84935 人气
更多

推荐作者

清欢

文章 1 评论 0

贱贱哒

文章 3 评论 0

悸初

文章 2 评论 0

西瓜杏

文章 0 评论 0

各自安好

文章 0 评论 0