• MongoDB安装Mac M1


     1、下载安装包:

    axInstall MongoDB Community Edition on macOS — MongoDB Manualhttps://www.mongodb.com/docs/v6.0/tutorial/install-mongodb-on-os-x/下载解压,重命名为mongodb 放到 /usr/local 目录下

    2、配置文件
    

    打开配置文件

    open -e .bash_profile
    把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中:
    
    export PATH=/usr/local/mongodb/bin:$PATH
    command+s保存退出
    
    生效配置文件:
    
    source .bash_profile
    # 进入 /usr/local
    
    cd /usr/local/mongodb/bin

    查看版本

    mongod -version

    3、添加data和log文件夹

    • 数据存放路径:

      sudo mkdir -p /usr/local/mongodb
    • 日志文件路径:

      sudo mkdir -p /usr/local/log/mongodb

      接下来要确保当前用户对以上两个目录有读写的权限:

      1. sudo chown runoob /usr/local/mongodb
      2. sudo chown runoob /usr/local/log/mongodb

    4、启动mongod服务

    方法一:

    sudo mongod 

    方法二:

    1. cd /usr/local/mongodb/bin
    2. ./mongod

    方法三:使用以下命令在后台启动 mongodb:

    1. cd /usr/local/mongodb/
    2. bin/./mongod --fork -dbpath data/db --logpath log/mongo.log --logappend

    forked process: 912

    ERROR: child process failed, exited with 1

    失败原因:文件地址没写对

    方法四:

    如果不想在后端运行,而是在控制台上查看运行过程可以直接设置配置文件启动:

    1. ## 启动命令
    2. mongod --config=/usr/local/mongodb/etc/mongo.conf
    3. ## 启动成功,可在浏览器中验证
    4. ## 关闭服务时,按照上面的方式去关闭,会有问题。原因是:我们在配置文件中开启了认证 auth=true,我们想关闭的时候会报错,告知我们没有权限
    5. ## 解决很简单,没有权限就赋予一个权限
    6. ## 如果是新安装的mongodb,默认是没有用户的,所以我们来创建用户
    7. ## 创建用户
    8. db.createUser({user: 'root', pwd: '123456', roles:[{role:'root',db:'admin'}]})
    9. ## 登陆用户
    10. db.auth('root','123456')
    11. ## 显示 1 说明登陆成功
    12. ## 赋予权限
    13. db.grantRolesToUser('root', [{role: 'hostManager',db:'admin'}])
    14. ## 关闭服务
    15. db.shutdownServer({force:true});

    要先在/usr/local/mongodb/etc中添加文件mongo.conf

    文件内容:

    1. systemLog:
    2. destination: file
    3. path: "/mongodb/log/mongod.log"
    4. logAppend: true
    5. storage:
    6. journal:
    7. enabled: true
    8. processManagement:
    9. fork: true
    10. net:
    11. bindIp: 127.0.0.1
    12. port: 27017
    13. setParameter:
    14. enableLocalhostAuthBypass: false

            启动失败:

    about to fork child process, waiting until server is ready for connections.

    forked process: 32881

    ERROR: child process failed, exited with 1

    To see additional information in this output, start without the "--fork" option.

    查看 mongod 服务是否启动:

    ps aux | grep -v grep | grep mongod

    使用以上命令如果看到有 mongod 的记录表示运行成功。

    启动后我们可以使用 mongo 命令打开一个终端:

    5、成功启动MongoDB后,再打开mongo

    1. cd /usr/local/mongodb/bin
    2. ./mongo
    MongoDB shell version v5.0.14
    connecting to: mongodb://127.0.0.1:27017/?gssapiServiceName=mongodb
    Implicit session: session { "id" : UUID("3c12bf4f-695c-48b2-b160-8420110ccdcf") }
    MongoDB server version: 4.0.9
    ……
    > 1 + 1
    2
    > 

    ## 打开浏览器输入: http://127.0.0.1:27017/

    It looks like you are trying to access MongoDB over HTTP on the native driver port.

    链接失败:

    MongoDB shell version v5.0.14

    connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb

    Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :

    connect@src/mongo/shell/mongo.js:372:17

    @(connect):2:6

    exception: connect failed

    exiting with code 1

    原因:mongodb服务没启动

    6.关闭mongodb服务

    在mongo窗口中关闭服务

    1. cd usr/local/mongodb/bin
    2. ./mongo
    3. ## 1.切换到管理员
    4. use admin
    5. ## 2.运行命令(参数可写可不写)
    6. db.shutdownServer();
    7. ## 展示如下:关闭成功
    8. server should be down...
    9. ## 通过浏览器访问 http://127.0.0.1:27017/ 拒绝连接

  • 相关阅读:
    Java三大特性篇之——继承篇(超详解的好吧!)
    CSS基本布局——grid布局
    R3LIVE代码详解(二)
    [Vulnhub] Stapler wp-videos+ftp+smb+bash_history权限提升+SUID权限提升+Kernel权限提升
    【微信小程序】6天精准入门(第1天:小程序入门)
    leetcode_力扣_1640. 能否连接形成数组
    MyBatis基础之概念简介
    什么是js的闭包,它是如何产生的
    20221203使用python3处理Google翻译英文SRT格式字幕
    【UE】材质描边、外发光、轮廓线
  • 原文地址:https://blog.csdn.net/Metis100/article/details/128151229