Linux 配置

按照以下命令创建文件

sudo mkdir -p /data/db
sudo mkdir -p /data/db/log
sudo touch /data/db/log/mongodb.log
sudo touch  /etc/mongodb.conf



上面创建了数据库的文件路径,log路径,以及

配置文件:mongodb.conf

接下来,需要配置以下这个配置文件,让mongod 通过这个配置文件进行启动


mongodb的参数说明:

mongodb的参数说明:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)

注:mongodb配置文件里面的参数很多,不懂的请查看 --help,如果定制特定的需求,请参考官方文档




打开配置文件,写入以下内容

dbpath=/data/db #指定数据库路径
logpath=/data/log/mongodb.log#指定log路径
logappend=true #在log末尾持续添加
port=27017  #端口号
fork=true  #创建子进程


通过配置文件启动


./mongod -f /etc/mongodb.conf



如果输出内容类似如下,那么就启动成功了


about to fork child process, waiting until server is ready for connections.
forked process: 9392
child process started successfully, parent exiting





windows 配置



在windows 中,中将其作为服务来启动就好

多说一句, windows里面不能像ubuntu那样配置, 至少一点 fork 属性,它是没有的

同样的需要创建一些目录

然后执行下面的语句来注册服务

mongod --dbpath "D:\data_mongodb\db" --logpath "D:\data_mongodb\db\log\mongodb.log" --logappend --install --serviceName "MongoDB"



服务注册完毕之后,执行下面的语句来启动服务

net start MongoDB





可能碰到下面的错误:

F CONTROL  [main] Failed global initialization: BadValue: dbPath requires an absolute file path with Windows services



需要修改文件路径, 比如 引号的处理, 盘符后面是否忘了 斜线符号




另外一个比较常见的错误是,注册服务之后,启动过程提示,服务名字无效

net start mongodb

服务名无效


解决办法;

以管理员身份启动CMD,然后再执行注册服务语句,这样就可以了