windows上出现的错误:
D:\MongoDB\bin>mongo.exe --dbpath d:\data\db
Error parsing command line: unrecongised option '--dbpath' try 'mongo.exe --help' for more information
解决方案:(命令错误)mongod.exe --dbpath=d:\data\db
解释:dapath后面是 “=” 不是空格。启动命令是mongod.exe。
linux安装配置:
下载地址 : https://www.mongodb.com/download-center?jmp=nav#community
创建数据库目录,MongoDB
需要自建数据库文件夹。
mkdir -p /usr/local/mongodb/data/db
mkdir -p /usr/local/mongodb/logs
touch /usr/local/mongodb/logs/mongodb.logs
官网下载源码进行安装:
cd /usr/local/mongodb
wget https://fastdl.mongodb.org/src/mongodb-src-r4.1.8.tar.gz
tar -zxvf mongodb-linux-x86_64-amazon-3.4.3.tgz
mv mongodb-linux-x86_64-amazon-3.4.3/* ./
添加配置文件:
新建mongodb.conf配置文件, 通过这个配置文件进行启动。
vim /etc/mongodb.conf
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/logs/mongodb.logs
port=27017
##auth = true # 先关闭, 创建好用户在启动
logappend=true #使用追加的方式写日志
fork=true #以守护进程的方式运行,创建服务器进程
maxConns=100 #最大同时连接数
noauth=true #不启用验证
journal=true #每次写入会记录一条操作日志(通过journal可以重新构造出写入的数据)。
#即使宕机,启动时wiredtiger会先将数据恢复到最近一次的checkpoint点,然后重放后续的journal日志来恢复
。
storageEngine=wiredTiger #存储引擎有mmapv1、wiretiger、mongorocks
bind_ip = 0.0.0.0 #这样就可外部访问了,例如从win10中去连虚拟机中的MongoDB
mongodb的参数说明:
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
注:mongodb配置文件里面的参数很多,定制特定的需求,请参考官方文档
配置环境变量:修改/etc/profile
, 添加如下内容
vim /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$MONGODB_HOME/bin:$PATH
执行命令:
source /etc/profile
启动:
通过配置文件启动
mongod -f /etc/mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 2814
child process started successfully, parent exiting
创建数据库:
use test
switched to db test
- 创建成功.
- 创建用户, 设置权限
db.createUser(
{
user: "test",
pwd: "test",
roles: [ { role: "readWrite", db: "test" } ]
}
)
详细权限配置参考网址: [MongoDB 3.0 用户创建]()
配置防火墙
链接地址:将27017端口添加到防火墙中 (配置防火墙链接地址)
vi /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
/etc/init.d/iptables reload
注意
我们创建了用户, 这个时候要开启权限启动, 在配置文件中添加 auth=true, 然后重启一下
总结
MongoDB 默认没有用户权限的, 建议大家一定要设置, 这样数据才安全.
重要说明:
一、MongoChef在5.0版本开始正式更名为Studio3T,在此之前各个版本分别为不同的安装程序:
1)Core(核心版,免费)
2)Pro(专业版,收费)
3)Enterprise(企业版,收费)
二、Studio3T 5.0版本的安装包集三个版本于一身,可以免费试用14天,试用期过后,专业版及企业版的功能需要输入产品密钥才可使用。
但是对于非商业用户核心版的功能终身免费,需要在应用程序第一次启动时选择“I am a non-commercial user and want to use Studio 3T Core for
free(我是一个非商业用户,需要免费使用Studio3T Core版)”。
三、下载地址