安装
安装说明:
https://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/
1. 创建源
sudo vi /etc/yum.repos.d/mongodb-org-3.0.repo
[mongodb-org-3.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
gpgcheck=0
enabled=1
如果网络有问题,可以使用taobao源:http://mirrors.aliyun.com/
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
CentOS 5
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-5.repo
CentOS 6
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo
CentOS 7
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
如果还不行,就要下载下来,用
rpm -ivh 命令 逐个安装rpm包。
下载地址:https://repo.mongodb.org/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/
mongodb-org-mongos-3.0.7-1.el7.x86_64.rpm
mongodb-org-server-3.0.7-1.el7.x86_64.rpm
mongodb-org-shell-3.0.7-1.el7.x86_64.rpm
mongodb-org-tools-3.0.7-1.el7.x86_64.rpm
mongodb-org-3.0.7-1.el7.x86_64.rpm
2. 运行yum install 安装stable版本。
sudo yum install -y mongodb-org
3. 设置selinux
vi /etc/selinux/config
把SELINUX值设为disabled或permissive
然后重启。
命令及配置
命令
启动
sudo service mongod start
日志记录在:/var/log/mongodb/mongod.log
停止
sudo service mongod stop
重启
sudo service mongod restart
配置
一些文件位置
数据默认存储位置
/var/lib/mongo
配置文件:
/etc/mongod.conf
日志
/var/log/mongodb
配置开机自动运行
sudo chkconfig mongod on
配置远程连接
bindIp=0.0.0.0 可以注释掉,绑定所有网卡
port=27017
auth=true
重启
sudo service mongod restart
或
/etc/init.d/mongod restart
验证
mongo ip/dbname -u username -p password
卸载
sudo service mongod stop
sudo yum erase $(rpm -qa | grep mongodb-org)
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongo
性能监测
mongostat
mongostat 基本的性能监测命令
慢查询 profile
开启方法
- 启动时 > mongodb -profile=级别
- 命令
use test
> switched to db test
db.setProfilingLevel(2);
> {"was" : 0 , "slowms" : 100, "ok" : 1} // "was" 是改之前的值
db.getProfilingLevel()
级别说明:
0. 不开启
1. 记录慢命令
2. 记录所有命令
慢的定义:默认100ms。
设置方法:
1. 启动时 > mongodb -slowms
2. 命令:
db.setProfilingLevel(level,slowms);
查询Profiling记录
Profile记录在系统db里,位置是system.profile。只需要查询这个collection。
db.system.profile.find();
db.system.profile.find({millis:{$gt:5}}); 时间大于5ms的
db.sysem.profile.find().sort({$natural:-1}); 查询最新的
show profile 最近5条执行时间超过1ms的
其它注意事项
- 在索引使用null值的时候,性能会非常差
- 参考:
http://docs.mongodb.org/manual/core/crud-introduction/