database - 在mac中更改mongo db的位置
问题描述
因此,我尝试使用 bash 中的此命令更改 monogo 数据库的“默认”位置,它立即启动,但是在关闭并再次尝试启动后,我从 bash 运行它给出了这个错误。/data/db
$ sudo mongo --dbpath /usr/local/<new folder>
$ mongod
"I CONTROL [initandlisten] shutting down with code:100"
我的问题是,
--dbpath <directory>
每次我想使用数据库时都必须输入这个标志吗……?如何让 mongo 知道“默认”目录已移动?
解决方案
因此,通过详尽的搜索和翻阅文档,我尝试了很多解决方案,这是我发现的一个对我有用的解决方案。'这是一个 macOS 解决方案'。注意:将“/what/ever/location”重命名为您的实际位置,但我建议保留数据、db、bin、log。
使用 homebrew 安装 mongodb 时(先决条件,安装 xcode)。
$brew install mongodb
官方文档说它不会创建配置文件,所以你必须创建一个并放在这个位置。
/etc/mongod.conf
创建后,使用您的文本编辑器(选择)插入此代码。我的被简化了,但是 mongo 文档有一个完整的列表,列出了其他内容。Mongo 文档存储选项:注意:此代码以 .yaml 或 .yml 编写,因此没有选项卡。
systemLog:
destination: file
path: "/what/ever/location/log/mongod.log"
logAppend: true
storage:
dbPath: "/what/ever/location/data/db"
indexBuildRetry: true
repairPath: "/what/ever/location/data/db/repairdb"
journal:
enabled: true
processManagement:
fork: true
net:
bindIp: 127.0.0.1
port: 27017
setParameter:
enableLocalhostAuthBypass: false
我添加了一些额外的东西,比如日志和修复路径,这是你的选择。接下来.bash_profile
用这条线改变你的:
# MongoDB Aliases
alias mongod="mongod --dbpath /what/ever/location/bin"
当您在那里时,如果您还没有这样做,请更新您的环境变量 $PATH mongod shell 所在的位置。
export PATH="/what/ever/location/bin:$PATH"
在您的 cli(选择)中运行此行以检查是否有效:
$mongod
推荐阅读
- java - 在 Java 中使用 Waffle 获取 Kerberos 服务票证
- android - Flutter 和 VSCode:Gradle 构建错误
- asp.net - 向 User 类添加属性违反了 TContext 类型的约束
- php - 简单的代码解释
- database - Android Room Persistence Library - 多对多关系
- java - 模式的字符串匹配
- android - 如何在不暴露应用程序 ID 的情况下初始化 Parse?
- r - 如何在 R 中运行 SQL 左连接?
- android - 在开始扫描时,BluetoothLeScanner 应用程序崩溃并且不显示任何结果
- c++ - 构建本身是 shared_ptr 类型的模板化容器