Linux安装mongodb数据库最新版
一、下载安装包
二、安装mongodb
1、使用Xftp将压缩包上传到指定目录下:
2、创建mongodb数据存储文件和日志文件
3、将mongodb服务加入环境变量
二、启动mongodb服务
1、在mongodb的安装目录下的bin目录下启动服务:
2、 查看mongodb是否已经启动成功
3、 操作mongo数据库
三、添加用户、安全认证
四、客户端远程连接
五、防火墙端口开放
1、开启防火墙
2、防火墙状态
3、设置防火墙mongo放行端口
4、重启防火墙
5、查看防火墙放行端口
6、关闭防火墙端口
7、开启设置防火墙
最后
一、下载安装包
官网地址:https://www.mongodb.com/ 你也可以下载我提供的链接,下载即可,版本是4.013的
链接:https://pan.baidu.com/s/1S00NGBkaUzDR2-C8AzXovg
提取码:zxmf
二、安装mongodb
1、使用Xftp将压缩包上传到指定目录下:
cd /usr/local/
mkdir mongodb
tar -zxvf mongodb-linux-x86_64-4.0.13 #文件名根据你自己的压缩包文件名来
2、创建mongodb数据存储文件和日志文件
cd /usr/local/mongodb/
mkdir data
mkdir logs
cd ./logs
touch mongodb.log
cd …/
mkdir etc
cd etc
touch mongodb.conf
mongodb.conf配置文件:
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
3、将mongodb服务加入环境变量
vi /etc/profile
在最后一行添加:
export PATH=$PATH:/usr/local/mongodb/mongodb-linux-x86_64-4.0.13/bin
使配置文件生效:
source /etc/profile
二、启动mongodb服务
1、在mongodb的安装目录下的bin目录下启动服务:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
2、 查看mongodb是否已经启动成功
netstat -lanp | grep “27017”
显示如下进程,说明已经成功启动。
在这里插入图片描述
3、 操作mongo数据库
任意目录下,输入命令mongo即可进入数据库,配置了环境变量的前提下,否则需要在mongodb安装目录下的bin目录下使用 ./mongo 命令
mongo
显示如下,已经成功进入mongo数据库了,默认是进入的是test数据库,show dbs 查看当前所有数据库。
在这里插入图片描述
注意:如果一个数据库是没有安全认证的,不使用用户名密码即可登陆,这样是不安全的,所以我们应当授予权限才能操作数据库,这样再企业中才能保证数据安全性。
三、添加用户、安全认证
首先必须使用admin数据库,进行新用户授权。
MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
输入以下命令:
db.createUser({user:“root”,pwd:“123456”,roles:[{role:“root”,db:“admin”}]})
授权成功后,关闭mongo服务:
db.shutdownServer()
显示如下,即已经成功关闭服务:
查看mongo服务进程,可看到服务已经成功停掉了。
在这里插入图片描述
然后需要到配置文件中修改配置,启用安全认证。
#开启认证,必选先添加用户
auth=true
最后开启mongo服务,进入数据库测试:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
show dbs此时看不到任何数据库,说明我们的安全认证用户配置生效了。
首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功。
use admin
db.auth(‘root’,‘123456’)
原文链接:https://blog.csdn.net/qq_41107231/article/details/108028319
四、遇到的一些问题
1.结束不掉mongodb进程问题,用kill命令解决
ps -ef | grep mongo //这是检查正在运行的mongodb进程,主要是为了获取pid
kill -9 15697
2.权限问题
由于mongodb是每一个库都是单独的账号密码,所以在进行添加用户的时候,一定要先添加admin库的root权限,不然你要是先创建的普通用户,到时候干啥都提示权限不足。
use admin
db.createUser({user:“admin”,pwd:“123456”,roles:[{role:“root”,db:“admin”}]}) //这个是创建的admin库的,root权限。
建立其他库的普通用户
use school_bus
db.createUser({user:“root”,pwd:“123456”,roles:[{role:“dbAdmin”,db:“school_bus”}]}) //roles就是权限
权限问题可以看这个博客 https://blog.csdn.net/xiaoxiangzi520/article/details/81094378