2021年12月2日 Linux安装MongoDB
一、下载安装包
官网地址:MongoDB下载页面
方式一:将tgz包下载到本地,然后用XFtp工具上传到服务器;
方式二:拷贝下载链接,直接在服务器上下载,命令如下:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-5.0.4.tgz
二、解压文件
命令如下:
tar -zxvf mongodb-linux-x86_64-rhel80-5.0.4.tgz -C /usr/local/mongodb
重命名
mv mongodb-linux-x86_64-rhel80-5.0.4 mongodbserver5.0.4
三、创建配置文件
1、创建数据和日志文件夹
cd /usr/local/mongodb
mkdir data
mkdir logs
chmod 777 -R data
chmod 777 -R logs
cd logs
touch mongodb.log
2、创建配置文件
cd /usr/local/mongodb
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
四、将MongoDB服务加入环境变量
vi /etc/profile
# 最后一行添加
export MONGODB_HOME=/usr/local/mongodb/mongodbserver5.0.4/bin
export PATH=$PATH:CONSUL_HOME:MONGODB_HOME
# wq!保存退出后,应用下配置文件
source /etc/profile
五、启动MongoDB服务
1、在MongoDB安装目录的bin文件夹下启动服务:
./mongod --config /usr/local/mongodb/etc/mongodb.conf
2、查看MongoDB服务是否启动成功
netstat -lanp | grep "27017"
显示进程,说明已经成功启动。
3、操作MongoDB数据库
①、将mongo路径软链到/usr/bin路径下,方便随处执行mongo命令
ln -s /usr/local/mongodb/mongodbserver5.0.4/bin/mongo /usr/bin/mongo
否则任意路径下执行“mongo”,报如下错误:
[root@VM-16-8-centos mongodb]# mongo
-bash: mongo: command not found
[root@VM-16-8-centos mongodb]#
执行以上命令后,再次执行mongo命令,连接MongoDB服务
[root@VM-16-8-centos mongodb]# ln -s /usr/local/mongodb/mongodbserver5.0.4/bin/mongo /usr/bin/mongo
[root@VM-16-8-centos mongodb]#
[root@VM-16-8-centos mongodb]#
[root@VM-16-8-centos mongodb]# mongo
MongoDB shell version v5.0.4
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("f3bcb302-5aa6-47e3-a043-79cd9851d3bd") }
MongoDB server version: 5.0.4
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
https://community.mongodb.com
---
The server generated these startup warnings when booting:
2021-12-02T17:14:30.866+08:00: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine. See http://dochub.mongodb.org/core/prodnotes-filesystem
2021-12-02T17:14:31.513+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
2021-12-02T17:14:31.513+08:00: You are running this process as the root user, which is not recommended
2021-12-02T17:14:31.513+08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
---
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).
The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.
To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---
>
显示如上信息,标识已经成功进入mongo数据库了,默认是进入的是test数据库,show dbs 查看当前所有数据库。
>
> db
test
>
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
>
注意:此时没有使用用户名密码即可登录MongoDB数据库,这是非常危险的,故此我们应该设置授权登录
②、添加用户、安全认证
首先,必须使用admin数据库,进行新用户授权。
注:MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。
其次,执行一下添加用户的命令:
db.createUser( {user: "root",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
注:mongoDB 没有无敌用户root,只有能管理用户的用户 userAdminAnyDatabase
成功后,将会看到下面:
注:添加完用户后可以使用show users或db.system.users.find()查看已有用户.
再次,添加完用户后,关闭MongoDB服务
注意:注意不要使用kill直接去杀掉mongodb进程,(如果这样做了,请去data/db目录下删除mongo.lock文件),可以使用db.shutdownServer()关闭.
上图中查看mongo服务进程,可看到服务已经成功停掉了。
最后,到配置文件中修改配置,启用安全认证。
vi /usr/local/mongodb/etc/mongodb.conf
添加如下配置:
#开启认证,必选先添加用户
auth=true
开启下服务,进入数据库测试
./mongod --config /usr/local/mongodb/etc/mongodb.conf
③、开启认证后,再次操作数据库
show dbs此时看不到任何数据库,证明安全认证用户配置已经生效了。
再次使用admin数据库,通过db.auth('root','密码')登录,输出1就是验证成功
④、开机自启动
(2022年2月8日 补充)
vi /etc/rc.d/rc.local
在文件末行添加启动命令
/usr/local/mongodb/mongodbserver5.0.4/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
命令解释:
1、mongod是MongoDB启动文件
2、mongodb.conf是配置文件
六、客户端远程连接
1、首先开启防火墙端口27017
2、使用Navicat连接
收到1条评论
1 2022-06-14 16:38
赞,完美跑通
回复