• MongoDB数据库新手入门


    windows安装mongodb 5.0.2

    官网下载msi文件

    自定义安装到 d:/apptoools/mongodb/

    不要勾选mongodb compass

    报错:verify that you have sufficient privileges to install system services
    权限不足

    解决办法:

    1.默认C盘安装路径

    2.其它磁盘根目录,D:/mongodb/

    配置环境变量

    bin目录添加到path环境变量里面

    创建数据库存储文件 D:/mongoDatabase/

    指定数据库存储文件
    mongod --dbpath D:/mongoDatabase/

    启动

    mongo

    或者指定连接本地数据库 mongo 127.0.0.1:27017

    show dbs
    use admin
    show collections
    db.product.insert({'title': 'aaa'})
    db.product.drop() // 删除集合
    db.dropDatabase() 删除数据库
    db.createCollection("runoob")
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    使用SQL命令强迫关闭mongo服务

    use admin
    db.shutdownServer()
    
    • 1
    • 2

    创建管理员:

    use admin
    show users
    db.createUser({user:"root",pwd:"123456",roles:["root"]}) //添加管理员
    
    db.dropUser('grade') // 删除用户
    
    • 1
    • 2
    • 3
    • 4
    • 5

    指定数据库创建用户

    use grade
    db.createUser({user:"gradeAdmin",pwd:"123456",roles:[{role: 'dbOwner',db: 'grade'}]})
    
    • 1
    • 2

    Mongodb数据库角色

    1. 数据库用户角色:

    read、 readWrite

    1. 数据库管理角色:

    dbAdmin、 dbOwner、 userAdmin

    1. 集群管理角色:

    clusterAdmin, clusterManager, clusterMonitor, hostManager

    1. 备份恢复角色:

    backup、 restore;

    1. 所有数据库角色:

    readAnyDatabase, readWriteAnyDatabase、 userAdminAnyDatabase, dbAdminAnyDatabase

    1. 超级用户角色:

    root

    开启认证之后连接数据库:

    use admin
    db.auth('root','123456')
    
    • 1
    • 2

    nodejs连接数据库

    通过client对象连接到MongoDB

    通过实例化一个MongoClient对象连接MongoDB数据库是最常用也是最佳的方式。

    创建MongoClient对象实例的语法:

    MongoClient( server, options );
    
    • 1
    • server : 一个serverd对象;

    • options : 数据库连接选项;

    通过一个连接字符串连接到MongoDB

    调用MongoClient类的connect()方法

    MongoClient.connect(connString, options, callback)
    
    • 1

    connString:mongodb://username:password@host:port/database?opations

    nosqlbooster连接mongodb

    linux 安装mongodb,配置以及使用

    安装

    官网下载tar包,上传到服务器目录: /usr/local/mongodb
    解压,tar -zxvf mongodb-linux-x86_64-xxx 并重命名

    创建mongodb数据存储文件和日志文件

    cd /usr/local/mongodb/
    mkdir data
    mkdir logs
    cd ./logs
    touch mongodb.log
    cd ../
    mkdir etc
    cd etc
    touch mongodb.conf
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    配置环境变量

    1. vi /etc/profile

    2. 写入: export PATH=/usr/local/mongodb/bin:$PATH
      保存退出

    3. 执行 source /etc/profile

    启动mongodb服务

    1. 方式一

    bin目录下执行:

    ./mongod --config /usr/local/mongodb/etc/mongodb.conf
    
    • 1
    1. 方式二

    把上面的命令写成脚本文件,我把它放到 ~/restartMongo 中,如下:

    cd ~
    vim restartMongo
    
    #写入:
    mongod --config /usr/local/mongodb/etc/mongodb.conf
    
    # 保存退出
    
    # 执行脚本启动
    ./restartMongo
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    查看进程

    mongodb默认端口号27017

    执行命令查看:

    netstat -ltunp
    
    • 1

    或者使用如下命令

    netstat -lanp | grep "27017"
    
    • 1

    启动之后就可以连接mongo server

    操作mongo数据库

    mongo (或者指定ip:port: mongo ip:port)

    admin数据库添加用户、安全认证

    use admin
    show users
    db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
    show users
    关闭mongo server
    db.shutdownServer()
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    启用安全认证

    1. 修改etc/mongodb.conf
    #开启认证,必选先添加用户
    auth=true
    
    • 1
    • 2
    1. 重新开启mongo server
    mongod --config /usr/local/mongodb/etc/mongodb.conf
    
    • 1

    此时show dbs查看不到任何数据库

    use admin
    db.auth('root', '123456') # 输出1标记访问数据库成功
    show dbs
    
    • 1
    • 2
    • 3

    客户端链接

    开放防火墙端口号,不再赘述。

    开机启动

    配置开机启动脚本文件: /etc/rc.d/init.d/mongod

    start() {
    /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
    }  
    
    stop() {
    /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
    }  
    case "$1" in  
    start)  
    start  
    ;;  
    
    stop)  
    stop  
    ;;  
    
    restart)  
    stop  
    start  
    ;;  
    *)  
    echo  
    $"Usage: $0 {start|stop|restart}"  
    exit 1  
    esac
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    我是 甜点cc

    热爱前端开发,也喜欢专研各种跟本职工作关系不大的技术,技术、产品兴趣广泛且浓厚。本号主要致力于分享个人经验总结,希望可以给一小部分人一些微小帮助。

    希望能和大家一起努力营造一个良好的学习氛围,为了个人和家庭、为了我国的互联网物联网技术、数字化转型、数字经济发展做一点点贡献。数风流人物还看中国、看今朝、看你我。

  • 相关阅读:
    Go编程语言变量赋值教程
    FPGA之旅设计99例之第十例-----串口上位机模拟OLED屏
    120年奥运历史数据分析
    烟台个人开发者申请软件著作权的好处
    B站Java面试失利,多次复习文档后找到原因
    Linux中安装MySQL5.7.42
    一文全面介绍JWT框架知识
    Python 全栈系列244 nginx upstream 负载均衡 踩坑日记
    学习Android的第十九天
    程序的模式设计-开篇1
  • 原文地址:https://blog.csdn.net/heyYouU/article/details/127630633