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,然后再执行注册服务语句,这样就可以了