本文共 2074 字,大约阅读时间需要 6 分钟。
MongoDB的安装和配置
一、服务器列表
IP地址和端口:172.16.6.41:27017 Primary
172.16.6.42:27017 Secondary
172.16.6.43:27017 Secondary (Arbiter)
Mongodb官方文档:docs.mongodb.com
二、安装
实例中的MongoDB是通过yum安装的
1、配置yum源
[root@SHVM-SQL01m_6 ~]# cd/etc/yum.repos.d/
[root@SHVM-SQL01m_6 yum.repos.d]# vi mongodb.repo
[mongod-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
2、安装Mongodb
[root@SHVM-SQL01m_6 ~]# getenforce查看selinux的状态,需要关闭selinux
Disabled
yum install -y mongodb-org
mongodb的安装比较简单,配置文件:/etc/mongod.conf(其他两台的配置参考6.41即可)
需要修改dbpath目录的属主和属组,mongodb默认使用mongod用户启动的。
mkdir /opt/mongo
chown -R mongodb:root /opt/mongo/
mongodb的启动 servicemongod start
mongodb的关闭 servicemongod stop
3、配置mongodb的复制集
复制集简介
Mongodb复制集由一组Mongod实例组成,包含一个Primary节点和多个Secondary节点,Mongodb Driver的所有数据都写入Primary,Secondary从Primary同步写入的数据,以保持复制集内所有成员存储相同的数据集,提供数据的高可用。
下图(图片源于Mongodb官方文档)是一个典型的Mongdb复制集,包含一个Primary节点和2个Secondary节点。
关于复制集的详细介绍可以参考官方文档和。
复制集的配置
1、修改配置文件
在配置文件中打开该选项,并确保3台服务器的replSetName保持一致
2、进入mongodb shell 初始化mongodb
mongo 172.16.6.41(进入shell)
use admin
config = { _id:”rs0”,members:[
{_id:0,host:”172.16.6.41:27017”,priority:2},
{_id:0,host:”172.16.6.42:27017”,priority:1},
{_id:0,host:”172.16.6.43:27017”,arbiterOnly:true}
]
} (定义复制集配置变量,这里的_id:”rs0”和配置文件中的replSetName保持一致)
初始化复制集
rs.initiate(config);
以上配置只需要在一台mongodb上面执行即可。
查看replica set各节点状态
rs.status();
rs.add(): 添加节点
db.adminCommand({replSetStepDown : 1}) 关闭主节点
db.adminCommand({replSetStepDown : 1,force : ture}) 强制关闭主节点
rs.conf(); 查看复制集配置
从节点上
rs.slaveOk()
在主节点查看复制集状态:
rs.isMaster()
三、常用命令
use database_name; 创建数据库
查询存在多少数据库 show dbs;
mongodb添加用户
> use database_name
>db.createUser(
... {
... user:"username",
... pwd:"password",
... roles:[{role:"read",db:"database_name"}]
... }
... )
实例
db.createUser(
{
user:"ops_log",
pwd:"ops_log$321",
roles:[{role:"readWrite",db:"ops_log_db"}]
}
)
> show users;查看用户
登录:mongo --host 172.16.6.41 --port 27017 -u username-p password --authenticationDatabasedatabase_name
转载地址:http://lurkf.baihongyu.com/