超详细的CentOS安装Mongodb助你少走弯路(必看)
CentOS7.2 64位安装Mongodb4.4.1(详细)这边我采用yum自动安装,强烈不推荐小白采用压缩包解压自动安装的方式,坑太多了!环境变量路径介绍mongodb的bin目录:/etcmongodb的dbpath:/var/lib/mongomongodb的logpath:/var/log/mongodb/mongod.logmongodb的config路径:/etc提醒大家使用指令的时
CentOS7.2 64位安装Mongodb4.4.1(详细)
这边我采用yum自动安装,强烈不推荐小白采用压缩包解压自动安装的方式,坑太多了!
环境变量路径介绍
- mongodb的bin目录:/etc
- mongodb的dbpath:/var/lib/mongo
- mongodb的logpath:/var/log/mongodb/mongod.log
- mongodb的config路径:/etc
提醒大家使用指令的时候替换成自己的mongodb所在的对应目录!
yum安装
通过连接工具连接服务器,mac端我推荐终端或者termius,window端推荐XShell(收费),当然你可以找不收费的版本!
一、配置mongodb的yum源
相当于配置让yum获取mongodb安装包的途径,同时设置获取的安装包的版本信息!
1.新建mongodb-org-4.4.repo文件
vim /etc/yum.repos.d/mongodb-org-4.4.repo
2.编辑mongodb-org-4.4.repo文件
按i进入inster模式(左下角提示)输入
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc
按键盘左上角的esc键退出编辑模式,紧接着英文状态下按:wq(左下角提示)后按下回车进行保存退出。
二、yum进行安装
开始进行安装mongodb的一些相关工具,如果没有问题的话最后会有一个complete的一个因为单词提示安装成功!
sudo yum install -y mongodb-org-4.4.1 mongodb-org-server-4.4.1 mongodb-org-shell-4.4.1 mongodb-org-mongos-4.4.1 mongodb-org-tools-4.4.1
三、遇见问题
如果你上面步骤没有出错这个部分可以跳过,我就是踩了很多坑!
1.运行yum install 命令报错如下: File contains no section headersXXX
出下如此问题最好是检查配置mongodb的yum源文件,如果没错则删除yum.repos.d模块下的文件并重新下载安装!
删除
rm -f /etc/yum.repos.d/
重新下载镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
清理缓存
yum clean all
如此操作后再次执行sudo yum install -y mongodb-org-4.4.1 mongodb-org-server-4.4.1 mongodb-org-shell-4.4.1 mongodb-org-mongos-4.4.1 mongodb-org-tools-4.4.1
通过yum安装mongodb的步骤了!
mongodb的启动关闭重启
1.启动
sudo systemctl start mongod
/usr/bin/mongod --config /etc/mongod.conf //创建用户后的启动方式
启动不成功很大程度上是mongodb没有dbpath和logpath的权限
sudo chown -R mongod:mongod /var/lib/mongo
sudo chown -R mongod:mongod /var/log/mongodb
2.关闭
sudo systemctl stop mongod
mongod --shutdown --dbpath /var/lib/mongo //设置用户后的关闭方式
3.重启
sudo systemctl restart mongod
4.开机自启动
sudo systemctl enable mongod
5.查看启动状态
sudo systemctl status mongod
6.修复mongodb
使用kill-9强制关闭,很大程度上导致mongodb不能启动,可以使用此命令修复mongodb,真的很艰难!
/usr/bin/mongod -f /etc/mongod.conf --repair
mongodb的简单操作
命令行方式操作数据库
mongo //进入数据库
show dbs //显示所有数据库
use admin //使用操作admin库
show collections //显示库中所有的表
db.createCollection("theme") //库中创建一个theme表
db.theme.insert({"id":"184820911","navbar": "red","num": 9,"fashion":["blue","gold","pink"]}) //表中输入一条记录
db.news.drop() //删除news表
db.dropDatabase() //删除数据库
db.users.update({"id": "xxx"},{$set:{"name": "huasen"}}) //更新users表中的数据
db.school.findOne({"id":3}) //school表中查找
db.createUser({user:"用户名",pwd:"密码",roles:[{role:"root",db:"admin"}]}) // 创建用户
use test // 跳转到需要添加用户的数据库
db.createUser({
user: 'fooadmin', // 用户名
pwd: '123456', // 密码
roles:[{
role: 'readWrite', // 角色
db: 'test' // 数据库名
}]
})
show users // 查看当前库下的用户
db.dropUser('testadmin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) // 修改用户密码
db.auth('admin', '654321') // 密码认证
sudo chown -R mongod:mongod /var/lib/mongo
sudo chown -R mongod:mongod /var/log/mongodb
/usr/bin/mongod --config /etc/mongod.conf //创建用户后的启动方式
mongod --shutdown --dbpath /var/lib/mongo //设置用户的关闭方式
导出导入数据
mongoexport -d admin -c theme -o /data/backup/theme.json //备份admin库中的theme表中的数据到theme.json文件中
mongoimport -d admin -c themecopy --file /data/backup/theme.json //从theme.json文件中导入数据进入admin库中的themecopy表中
备份恢复
mongodump -d admin -o /data/backup/mongodb //备份数据
mongorestore -d admincopy --dir=/data/backup/admin //恢复数据
浏览器连接不上问题排查
这个问题折磨我很久,涉及的问题很广,需要耐心排查!
成功实例
通过浏览器访问:ip:27017
,mongodb的默认端口是27017。
排查过程
通过如下进行步骤进行排查,希望能给大家再来帮助!
1.查看linux的27017端口是否跑有mongo的相关程序
查看当前所有tcp端口,输入netstat -ntlp
查看端口号!
2.查看服务器的对应的安全组端口是否开启
具体操作需要看你的阿里云或者腾讯云的操作了
出站和入站的规则都要开放27017的端口,具体看大家的服务器怎么设置了!
下面给大家参考一下我自己的设置
3.查看服务器防火墙是否打开限制
查看服务器对防火墙对端口是否存在限制,我比较简单粗暴,直接关闭防火墙!
systemctl disable firewalld.service
systemctl stop firewalld.service
setenforce 0
或者直接查看端口的开放情况
firewall-cmd --query-port=27017/tcp // 查看tcp协议下的27017端口的防火墙设置
firewall-cmd --list-ports // 查看全部端口
systemctl stop firewalld // 关闭防火墙
firewall-cmd --add-port=27017/tcp // 关闭27017的防火墙限制
这个问题防火墙问题的也不太会,不同版本的CentOS版本使用的防火墙应用不一样,具体看大家发挥,欢迎大哥们教教小弟我!
4.查看mongodb的bind_ip属性
bind_ip属性默认是127.0.0.1
,默认仅支持服务器内的应用访问,所以我们在浏览器输入连接端口号一直是不可以连接不上,我是直接修改成所有的应用都可以访问连接!就是将bind_ip属性设置成0.0.0.0
,那么问题来了,通过yum安装的mongodb怎么能找到mongodb.config文件。一般来说使用yum的rpm安装的包,默认路径如下:
路径 | 文件存放描述 |
---|---|
/etc | 一些安装包配置文件的目录 |
/usr/bin | 一些安装包的可执行文件 |
/usr/lib | 一些程序使用的动态函数库 |
/usr/share/doc | 一些基本的软件使用手册与帮助文档 |
果然我找到的了那个文件了!
开始修改保存,就成功能够访问了!如果不能还不能访问的话,大兄弟我也帮不你了,建议重开!
寄语
本人只是一个出入社会的小菜鸟,安装mongodb的时候做了比较详细的记录,因为才疏学浅,希望各位大佬别喷,帮到大家的同时,恳求大佬们如果转载的话请注明一下出处!
支持
个人开发了一个资源网址导航网站,很多资源分享,vue项目第一次进会慢一些些,但是过后就很快了,涵盖了生活的方方面面,认真逛逛绝对会有收获,无广告且有软件分享。希望大家支持一下!n.huasenjio.top,如果进不出意外的话我会把这个开源给大家!大家的访问也许对我就是一种鼓励了,谢谢大家!
更多推荐
所有评论(0)