在 Linux 上 CentOS 系统中安装 MongoDB 数据库
在网上找了很多这方面的教程,很难安装成功,有些是系统环境不一样,有些根本就安装不成功,只是当时作者在安装的时候成功了,换个环境就安装不上,这篇文章是我找了多个安装教程的总结。
登录 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
设置 false
,bind_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 进入编辑模式。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论