linux 单机部署 mongodb

前言:

因业务发展需要存储一些非结构化数据,并且需要对这些数据进行增删改查。调研发现mongodb满足需求并且使用门槛低,所以单机部署试试效果。

一、官网下载

地址:https://www.mongodb.com/try/download/community

首页进去会显示最新版本,但我这边之前安装的是5.0.5的版本,所以我这次也是在历史版本里面下载的5.0.5版本,如下:

建议下载.tgz文件,文件上传到服务器就可以安装了。

二、安装前准备

首先说一下安装规划,我打算把所有mongodb的文件都放在同一个文件夹下,这样以后好运维。

mkdir /apps/program/mongodb

解压.tgz文件到上述目录

tar -zxvf mongodb-linux-x86_64-rhel70-5.0.5.tgz -C /apps/program/mongodb/

可以在相应目录看到一个新的文件夹

三、相关配置

 mongodb 目录下分别创建etc, data, logs 文件夹,规划分别放入 配置,数据,日志文件。

进入到 etc 目录,创建配置文件 mongodb.conf

# 数据库数据存放目录
dbpath=/apps/program/mongodb/data
# 数据库日志存放目录
logpath=/apps/program/mongodb/logs/mongodb.log
# 以追加的方式记录日志
logappend = true
# 端口号 默认为27017
port=27017 
# 以后台方式运行进程
fork=true 
# 开启用户认证
auth=true
# 访问数据库绑定的ip地址,全是0表示任何地址都可以
bind_ip=0.0.0.0
# 这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true 

四、启动mongodb

进入到 mongodb 的 bin 目录下

 执行启动命令

 ./mongod --config /apps/program/mongodb/etc/mongodb.conf

 如果启动不成功请查看日志文件,里面会有提示。

五、创建超级用户

在 bin 目录下执行下述命令

# 进入mongo
./mongo
# 切换到 admin 数据库
use admin
# 创建超级用户 manager
db.createUser({user:'manager',pwd:'654321',roles:[{role:'root',db:'admin'}]})
# 用户认证,认证后才可查看和操作数据库
db.auth('manager','654321')

 六、创建普通用户

# 进入数据库,bin目录下执行
./mongo
# 切换到 admin 数据库
use admin
# 超级用户登录
db.auth('manager','654321')
# 创建新的数据库
use db_table
# 创建普通用户并赋予读写权限
db.createUser({user:'table',pwd:'123456',roles:[{role:'readWrite',db:'db_table'}]})

 附录:用户角色(role字段)说明

角色说明
read允许用户读取指定数据库
readWrite允许用户读写取指定数据库
dbAdmin允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问
userAdmin允许用户向system.users集合写入,可以找指定数据库里创建、删除和管理用户
clusterAdmin只在admin数据库中可用,赋予用户所有分片和复制集相关函数的管理权限
readAnyDatabas只在admin数据库中可用,赋予用户所有数据库的读权限
readWriteAnyDatabase只在admin数据库中可用,赋予用户所有数据库的读写权限
userAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的userAdmin权限
dbAdminAnyDatabase只在admin数据库中可用,赋予用户所有数据库的dbAdmin权限
root只在admin数据库中可用。超级账号,超级权限

补充:正确关闭数据库

# 方式一
./mongo
# 只有在admin数据库才能执行关闭
use admin
# 如果数据库已经开启认证的话,需要先认证
db.auth('manager','654321')
# 执行关闭
db.shutdownServer()

# 方式二
./mongod --shutdown -f [配置文件]


# 方式三(此法不安全,非必要不使用)
ps -ef|grep mongo
kill -15 [pid]

七、win 端登录

我这边只用过 NOSQLBooster,整体来说还可以,官网下载地址:https://nosqlbooster.com

填写基本信息:

填写认证信息:

 点击测试:

 测试结果显示 ok 就表示连接没问题:

连接以后就可以创建数据库、集合了:

 

八、命令工具

mongodb 4.x版本后命令行工具需要单独安装,下载地址:mongodb-tools,解压后可直接使用。​​​​​​​

一些常用命令:

//备份
mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表 -o 文件存放路径

参数说明:
-h 指明数据库宿主机的IP
--port 指明数据库的端口 
-u 指明数据库的用户名
-p 指明数据库的密码
-d 指明数据库的名字
-c 指明collection的名字
-o 指明到要导出的文件名
-q 指明导出数据的过滤条件


//恢复
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 --drop 文件存在路径

参数说明:
--drop:先删除所有的记录,然后恢复


//导出
mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv -o 文件名

参数说明:
-f 导出指定字段,以逗号分割,-f id,name导出id,name这三个字段
-q 可以根据查询条件导出,-q '{ "id" : "100" }' 导出id为100的数据
--csv 表示导出的文件格式为csv的


//导入
mongoimport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 --upsert --drop 文件名

参数说明:
--upsert:插入或者更新现有数据

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是基于Linux平台部署MongoDB的步骤: 1. 首先,确保你的Linux系统已经安装了MongoDB的依赖库,包括libcurl4、libssl1.0.0和libcrypto++9等。如果没有安装,可以通过以下命令安装: ``` sudo apt-get install libcurl4 libssl1.0.0 libcrypto++9 ``` 2. 下载MongoDBLinux版本,可以从MongoDB官网下载:https://www.mongodb.com/download-center/community ``` wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu1604-4.4.1.tgz ``` 3. 解压MongoDB压缩包 ``` tar -zxvf mongodb-linux-x86_64-ubuntu1604-4.4.1.tgz ``` 4. 将解压后的文件夹移动到/opt目录下 ``` sudo mv mongodb-linux-x86_64-ubuntu1604-4.4.1 /opt/mongodb ``` 5. 创建MongoDB的数据目录和日志目录 ``` sudo mkdir -p /data/db sudo mkdir -p /var/log/mongodb ``` 6. 启动MongoDB ``` /opt/mongodb/bin/mongod --dbpath /data/db --logpath /var/log/mongodb/mongod.log --fork ``` 7. 如果需要设置MongoDB为系统服务,则可以创建一个systemd配置文件 ``` sudo vim /etc/systemd/system/mongodb.service ``` 文件内容如下: ``` [Unit] Description=High-performance, schema-free document-oriented database After=network.target [Service] User=mongodb ExecStart=/opt/mongodb/bin/mongod --quiet --config /etc/mongodb.conf [Install] WantedBy=multi-user.target ``` 8. 启动MongoDB服务 ``` sudo systemctl start mongodb ``` 9. 设置MongoDB服务开机自启动 ``` sudo systemctl enable mongodb ``` 以上就是在Linux平台上部署MongoDB的步骤,希望对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值