mac系统mongodb通过配置表解决找不到/data/db问题

404 阅读2分钟

一、指定目录

1、mac系统安装mongodb后,执行mongo命令报不能连接,这种情况一般检查路径问题

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

2、执行mongod命令,可见报/data/db not found

{"t":{"$date":"2023-01-13T15:19:42.486+08:00"},"s":"E",  "c":"CONTROL",  "id":20557,   "ctx":"initandlisten","msg":"DBException in initAndListen, terminating","attr":{"error":"NonExistentPath: Data directory /data/db not found. Create the missing directory or specify another path using (1) the --dbpath command line option, or (2) by adding the 'storage.dbPath' option in the configuration file."}}

3、设置数据库路径,目录可以起任意名字,不一定要叫data

image.png 命令行执行以下命令,我的目录名字叫mongodata,放在/Users/mzong目录下

sudo mongod --dbpath=/Users/mzong/mongodata

4、指定目录后,当前命令行不要关闭,新开一个命令后工具,命令行执行mongo就可以运行

sudo mongo

image.png 但是这样手动指定目录,每次都要手动执行一遍才能运行mongo命令,比较麻烦,接下来通过配置表的形式指定路径,可以每次只需要在一个命令行工具运行mongo即可开启

二、通过conf配置文件指定目录

在mongodata目录下新建一个文件夹叫etc,etc文件夹建一个文件叫mongo.conf文件

#数据库路径
dbpath=/Users/mzong/mongodata/db/

#日志输出文件路径
logpath=/Users/mzong/mongodata/logs/mongodb.log

#错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
logappend=true

#启用日志文件,默认启用
journal=true

#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=false

#是否后台启动,有这个参数,就可以实现后台运行
fork=true

#端口号 默认为27017
port=27017

#指定存储引擎(默认不需要指定)
#storageEngine=mmapv1

配置表建好后,通过命令行工具执行

sudo mongod -f /Users/mzong/mongodata/etc/mongo.conf

image.png 看到successfully代表配置成功了。
下一步直接在命令行运行mongo就可以启动了

image.png 这样就连接成功了。