Chinaunix首页 | 论坛 | 博客
  • 博客访问: 32921
  • 博文数量: 14
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 151
  • 用 户 组: 普通用户
  • 注册时间: 2017-04-07 23:15
个人简介

一步一个脚印,扎扎实实投资自己。

文章分类

全部博文(14)

文章存档

2017年(14)

我的朋友

分类: NOSQL

2017-10-17 09:28:56

环境准备:
Ubuntu 16.04.1 LTS
    primary:192.168.0.241
    secondary:192.168.0.243
    arbiter:192.168.0.242
mongodb-linux-x86_64-2.6.11.tgz 

  
上官网抄来的架构图:
 

三台mongodb搭建配置:
  1. tar -zxf /tmp/mongodb-linux-x86_64-2.6.11.tgz -C /opt/
  2. mv /opt/mongodb-linux-x86_64-2.6.11 /opt/mongodb
  3. mkdir -p /{data,log}/mongodb
  4. touch /opt/mongodb/mongod.conf
添加mongod.conf配置如下:
  1. systemLog:
  2.     path: /logs/mongodb/mongodb.log
  3.     logAppend: true
  4.     destination: file
  5. processManagement:
  6.     fork: true    #以守护进程方式运行mongodb
  7.     pidFilePath: /opt/mongodb/mongodb.pid
  8. net:
  9.     port: 27017
  10.     bindIp: 192.168.0.241    #三台机器分别设置本机IP
  11. storage:
  12.     dbPath: /data/mongodb
  13.     directoryPerDB: true
  14.     journal:
  15.         enabled: true
启动mongodb
  1. /opt/mongodb/bin/mongod -f /opt/mongodb/mongod.conf
设置管理密码
  1. /opt/mongodb/bin/mongo --host 192.168.0.241
  1. >use admin
  2. >db.addUser("root","xixi")
  3. >quit()
创建超级用户出现下图警告可忽略,反正用户创建好了
关闭mongodb
  1. kill -2 `cat /opt/mongodb/mongodb.pid`
设置通讯用key (key只生成一次,三台机器拷贝同一个key
  1. openssl rand -base64 741 > /opt/mongodb/mongodb-keyfile
  2. chmod 600 /opt/mongodb/mongodb-keyfile
增加mongod.conf文件安全及副本集相关配置如下:
  1. security:
  2. keyFile: /opt/mongodb/mongodb-keyfile
  3. clusterAuthMode: keyFile
  4. authorization: enabled
  5. replication:
  6. oplogSizeMB: 1000
  7. replSetName: ywkj
再次启动mongodb
  1. /opt/mongodb/bin/mongod -f /opt/mongodb/mongod.conf

mongdb高可用设置:
登录任意一个节点进行配置
  1. /opt/mongodb/bin/mongo --host 192.168.0.241
>use admin
>db.auth("root","xixi")
>rsconf={_id:"ywkj",members:[{_id: 0,host: "192.168.0.241:27017",priority:2}]}
>rs.initiate(rsconf)
>rs.add("192.168.0.242:27017",true)
>rs.add({_id:2,host:"192.168.0.243:27017",priority:1})
查看节点设置
  1. >rs.conf()

查看各节点状态
  1. >rs.status()

至此mongodb高可用完成

备注几条mongodb管理命令:
查看数据库    show dbs
切换/创建数据库    use <数据库>
切换用户       db.auth("<用户名>","<密码>")
查看数据量    db.<数据库>.count()
关闭数据库    db.shutdownServer()
查询              db.<数据库>.find({"":""})
插入数据       db.<数据库>.insert({"":""})
删除数据       db.<数据库>.remove({"":""})
统计数据量    db.<数据库>.count()
查看用户权限 db.system.users.find()    #此命令只能use admin后执行
以下命令请先use相应数据库: 
创建用户       db.createUser({user:"<用户名>",pwd:"<密码>",roles:[{role:"<权限1>",db:"<数据库>"},{role:"<权限2>",db:"<数据库>"}]})
用户授权       db.grantRolesToUser("<用户名>", [{ role: "<权限>",db:"<数据库>"}])
权限回收       db.revokeRolesFromUser("<用户名>",[{ role: "<权限>",db:"<数据库>"}])
修改密码       db.changeUserPassword("<用户名>","<密码>");
删除数据库    db.dropDatabase()
删除用户       db.dropUser("<用户名>")
阅读(733) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~