Centos 8.0 系统下MongoDB安装

MongoDB下载包获取
  • https://www.mongodb.com/try/download/community
    mongodb官网
安装配置
安装

第一步:在服务器 /data下创建 MongoDB 文件夹,用来存放安装包、服务以及之后 MongoDB 的数据库和日志文件。

cd /data		// 进入安装目录
mkdir MongoDB		// 创建MongoDB文件夹
cd MongoDB		// 进入创建的MongoDB文件夹
mkdir source		// 在MongoDB文件夹下创建source文件夹用于保存安装包
mkdir data		// 在MongoDB文件夹下创建data文件夹用于后续数据库信息保存
mkdir log		// 在MongoDB文件夹下创建log文件夹用于保存数据库日志

第二步: 将官网下载的安装包通过FTP工具上传至服务器上一步创建的 MongoDB/source 文件夹下,执行下面解压命令

cd /data/MongoDB/source
tar -zxvf 安装包名称 -C /usr/local/MongoDB

第三步: 重命名解压文件夹名称,方便后续使用

cd /data/MongoDB
mv 解压文件夹名称 mongodbServer		// 将解压后的文件夹名称重命名为 mongodbServer

配置

第一步: 将 mongod 命令路径添加到系统命令中,这样就可以在任何路径都可以执行 mongod 命令。
在 /etc/profile 文件中添加以下配置:

export MONGODB_HOME=/data/MongoDB/mongodbServer
export PATH=$PATH:$MONGODB_HOME/bin

上面 MONGODB_HOME 的路径就是我们之前解压安装包后保存服务的路径

执行命令使系统环境变量生效:

source /etc/profile

第二步:配置 MongoDB 启动文件
在 mongoDB 服务的 bin 文件夹下创建 mongod.conf 文件

cd /data/MongoDB/mongodbServer/bin
vim mongod.conf

按 i 键进入编辑模式,写入以下配置

storage:
    #mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod
    dbPath: "/data/MongoDB/data"            #数据文件存放目录
systemLog:
    #MongoDB发送所有日志输出的目标指定为文件
    destination: file
    #mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
    path: "/data/MongoDB/log/mongod.log"    #日志文件存放目录
    #当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾
    logAppend: true
net:
    port: 27018                             #端口
    bindIpAll: true                         #监听所有ip
processManagement:
    fork: true                              #以守护程序的方式启用,即在后台运行
security: 
  authorization: enabled                    #开启校验用户,数据库连接时需要输入用户名密码
测试启动

在任意路径下执行命令启动 mongoDB 服务

mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf

出现以下画面即启动成功,此时就可以进去 mongoDB 数据库了
在这里插入图片描述
进入数据库,任意路径执行以下命令,即可进入 mongoDB 的 shell 命令行

mongo

在这里插入图片描述

指定数据库添加管理用户

打开 mongoDB 的 shell 命令行界面后,进入默认的 admin 数据库

use admin		// 进入 admin 数据库
use simple-design       // 进入 simple-design 数据库 默认没有会创建,没有数据不会显示
db.createUser({ user: 'name', pwd: 'password', roles: [{ role: 'dbOwner', db: 'simple-design' }] })		// 为名为 simple-design 的数据库添加数据库管理员,账号为 name,密码为 password, 角色权限为 dbOwner

在这里插入图片描述

常用 mongoDB 角色
数据库用户角色: read、 readWrite
数据库管理角色:dbAdmin、dbOwner、userAdmin
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色:backup、restore
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色: __system
设置 MongoDB 服务为系统服务

在 /etc/init.d 文件夹下创建 mongod 文件

vim /etc/init.d/mongod

写入如下配置(相关路径配置就是我们上面的配置路径):

#!/bin/bash

start() {  
/usr/local/MongoDB/mongodbServer/bin/mongod  --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf 
}  
  
stop() {  
/usr/local/MongoDB/mongodbServer/bin/mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf --shutdown  
}  
case "$1" in  
  start)  
 start  
 ;;  
  
stop)  
 stop  
 ;;  
  
restart)  
 stop  
 start  
 ;;  
  *)  
 
echo $"Usage: $0 {start|stop|restart}"  
 exit 1  
esac

保存后执行脚本权限命令:

chmod +x /etc/init.d/mongod
systemctl unmask mongod.service
启动 mongoDB 系统服务

第一次启动前需先杀掉之前手动启动的 mongoDB 服务,
netstat -lnpt |grep 27017 命令查看服务id,kill -9 服务id 即可

service mongod start

通过以下命令查看当前运行的系统服务,里面包含 mongod 服务即启动成功

service --status-all
Mongodb常用命令行
1.登录本地mongo数据库
mongo --host 192.168.1.111 --port 27018 -u "root" -p "123zxcv" --authenticationDatabase "admin" //登陆admin库

2.查看所有数据库
show dbs

3.创建数据库如果数据库不存在,则创建数据库,否则切换到指定数据库
use db_name

3.1向runoob表中插入数据
db.runoob.insert({"name":"菜鸟教程"})

4.删除数据库
4.1 使用某个库
use db_name

4.2 查看当前数据库
db

4.3 删除该库
db.dropDatabase()

4.4 删除用户
db.dropUser("mongo")

5.操作某个库下的集合(表)
5.1 使用某个库 
use db_name

5.2 查看该库下的所有表
show tables
或者
show collections

5.3 查询表中所有数据
db.表名.find()

5.4 创建一个集合(表)
db.createCollection("table_name")

5.5 删除该表
db.table_name.drop()

5.6 根据条件删除某个集合的数据
db.category.deleteMany({'error':"Not Found"})

6.mongoexport从mongo中导出数据到json文件
6.1 导出某个库下某个表的所有数据
mongoexport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> -o <file_name>.json

例如:
mongoexport --host 192.168.1.111 --port 27018 -d db_name -u root -p 123zxcv --authenticationDatabase admin -c table_name -o file_name.json

6.2 根据条件导出数据
mongoexport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> -q '{"$or":[{"userId":"8855e628456846fcbf24c5b380387d6d"},{"userId":"62ce749998c34cc3adac00b6b144ef9b"}}]}' -o <file_name>.json

例如:
mongoexport --host 192.168.1.111 --port 27018 -d db_name -u root -p 123zxcv --authenticationDatabase admin -c table_name -q '{"$or":[{"userId":"8855e628456846fcbf24c5b380387d6d"},{"userId":"62ce749998c34cc3adac00b6b144ef9b"}}]}' -o file_name.json

7.mongoimport将json数据导入到mongo中
mongoimport --host <ip> --port <port>  -d <db_name> -u <user_name> -p <password>  --authenticationDatabase admin -c <table_name> --file <file_name>.json

例如:
mongoimport --host 192.168.1.111 --port 27018  -d db_name -u root -p 123zxcv  --authenticationDatabase admin -c

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值