MongoDB安装与副本集

MongoDB安装与副本集

1.去官网下载安装包

https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.3.tgz

2.解压到 /usr/local/mongodb

3.在mongodb目录下面,创建data目录,在data目录下创建db目录和logs目录

mkdir -p /data/db

mkdir logs

4.在logs目录下创建log文件

touch mongodb.log

5.在data目录下 创建 mongodb.conf 文件

vi mongdb.conf

加入以下内容:

#端口号port = 27017

#数据目录

dbpath = /usr/local/mongodb/data/db

#日志目录

logpath = /usr/local/mongodb/data/logs/mongodb.log

#设置后台运行

fork = true

#日志输出方式

logappend = true

#开启认证

#auth = true

6.启动 mongodb服务

cd /usr/local/mongodb

./bin/mongod –config /usr/local/mongodb/data/mongodb.conf

7.至此mongodb就可以正常使用了

====================================================================
1.解压

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.0.tgz

tar zxvf mongodb-linux-x86_64-amazon-3.4.0.tgz

mv mongodb-linux-x86_64-amazon-3.4.0 /usr/local/mongodb

cd /usr/local/mongodb

2.创建data目录和logs目录

make -p data logs

1

3.启动

vi mongodb.conf 中添加

port=27017

logpath=/usr/local/mongodb/logs/mongodb.log

logdbpath=/usr/local/mongodb/data/

logappend=true

fork=true

4.更新配置文件

./mongod -f ../mongodb.conf

1

启动命令行界面

./mongo

1

访问成功

http://172.16.41.31:27017

It looks like you are trying to access MongoDB over HTTP on the native driver port.
===================================
安装MongoDB

1,下载安装包
下载mongoDB的安装文件
地址:https://www.mongodb.org/downloads#production
选择Linux 64-bit legacy 版本,下载到目标服务器上。
解压文件
tar -zxvf mongodb-linux-x86_64-3.0.2.tgz

2,创建数据文件路径
mkdir data
mkdir db
给data目录赋可写权限
chmod -R 777 data
创建日志目录logs
mkdir logs

3,编写配置文件
为了便于我们启动mongoDB,先编写一个配置文件,我这里把配置文件直接放入了bin目录下
vimongodb.conf
输入内容:
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongo.log
port=27017
fork=true
maxConns = 10000
auth = true
nohttpinterface=false
#replSet=datamip/127.0.0.1:27001

4,测试启动
进入bin目录,输入命令
./mongod-f./mongodb.conf

5,新增用户
db.createUser({user:”root”,pwd:”1234567qQ”,roles:[{ role: “root”,db:”admin”}]});

6.数据导入

==========================================

副本集

MongoDB数据库副本集配置
注意:在副本集的环境中,要是所有的Secondary都宕机了,只剩下Primary。最后Primary会变成Secondary,不能提供服务。
准备:
安装三个数据库服务
106.15.207.99:27001主
106.15.207.99:27002从
106.15.207.99:27003从
一个主节点,2个从节点(从节点中不能有数据)
 
1.数据库启动的配置信息:不能有验证
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongo.log
port=27017
fork=true
maxConns = 10000
nohttpinterface=false
replSet= repset
oplogSize = 1024
2.启动三个服务器
3.添加 raplica  sets配置
进入106.15.207.99:27001,执行以下命令行
use admin//切换到admin库
config = { _id:”repset”, members:[//配置副本集信息
… {_id:0,host:”106.15.207.99:27001″},
… {_id:1,host:”106.15.207.99:27002″},
… {_id:2,host:”106.15.207.99:27003″}]
… };
rs.initiate(config);//初始化副本级配置返回{“ok”:1}
rs.status();//查看replica sets的状态
 
修改副本集配置中的方法:
rs.config();
var config=rs.config();
config.members[0].host=”host113:27017″  
rs.reconfig(config);
rs.config();
进入106.15.207.99:27002执行命令行报错时,执行:
db.getMongo().setSlaveOk();//sencondary机器授权查询
4.添加用户
进入主节点,执行以下命令行
use admin
db.createUser({user:”root”,pwd:”1234567qQ7654321$”,roles:[{role:root”,db:”admin”}]});
5.建立keyFile文件:
# rpm -qa|grep -i openssl;//查看安装没安装 openssl
mkdir /mongodb/mongodb-keyfile//创建存放mongodb-keyfile的目录
openssl rand -base64 756 /mongodb/mongodb-keyfile/mongodbkey//756可变
chmod600keyFile//600可变
将该文件复制到两外两个从库相应的目录下
6.重启三个服务
增加auth、keyFile配置
dbpath=/usr/local/mongodb/db
logpath=/usr/local/mongodb/logs/mongo.log
port=27017
fork=true
maxConns = 10000
auth = true
nohttpinterface=false
replSet= repset
oplogSize = 1024
keyFile=/usr/local/mongodb/config/mongodb-keyfile
启动从节点时,可能会报权限太大的错,执行:
chmod 200 /usr/local/mongodb/config/mongodb-keyfile
7.java连接MongoDB
副本集在服务器上使用正常,但是使用java连接时验证不通过,修改认证方式
db.system.version.findOne({“_id”:”authSchema”});//查看auth认证方式
db.system.users.remove({})//删除所有用户
db.system.version.remove({})//删除原auth认证方式
db.system.version.insert({“_id”:”authSchema”,”currentVersion”:3})//设置新的认证方式
 
以下代码意为:admin库中用户root操作名为xianzhi的库

 

mongodb 最新版本高可用解决方案-replica sets副本集部署详细过程
http://blog.csdn.net/mchdba/article/details/51638131
 
Mongodb启动命令mongod参数说明:
http://blog.csdn.net/fdipzone/article/details/7442162
 
mongoDB用户权限:
http://blog.csdn.net/jianlong727/article/details/53889990
 

java使用用户名+密码连接mongodb,认证失败的问题解决
http://blog.csdn.net/sanpangouba/article/details/78953556
 
 
 

转载于:https://www.cnblogs.com/muyi-yang/p/9861731.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/101347.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • PHP redis安装扩展

    PHP redis安装扩展

    2021年10月18日
    59
  • 正斜杠和反斜杠的区别_vb斜杠和反斜杠

    正斜杠和反斜杠的区别_vb斜杠和反斜杠参考链接:正斜杠/和反斜杠\的区别 https://www.cnblogs.com/codingmengmeng/p/6179822.html近来研究源码时发现,常常在路径中出现正斜杠“

    2022年8月2日
    5
  • 10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)

    10款滑动门代码_jquery 滑动门_js滑动门_tab滑动门_jquery 选项卡_js选项卡_tab选项卡效果(三)jquerytab选项卡插件滑动选项卡淡隐淡现选项卡jquerytab选项卡插件轻量级tab选项卡插件支持鼠标滑过、点击、自动切换、数据回调等功能jquery选项卡插件jquerytab选项卡支持垂直选项卡滚动、水平选项卡滚动、自动选项卡切换等。jquerytab选项卡ajax选项卡静态选项卡鼠标点击选项卡鼠标滑过选项卡jquery图片延迟加载插件制作tab选项卡图片异步加载…

    2025年6月5日
    0
  • 一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]

    一文搞定子网划分!子网掩码!超详细例题解析![通俗易懂]子网划分理论基础为什么进行子网划分减少网络流量,无论什么样的流量,我们都希望它少些,网络流量亦如此。如果没有可信赖的路由器,网络流量可能导致整个网络停顿,但有了路由器后,大部分流量都将呆在本地网络内,只有前往其他网络的分组将穿越路由器。路由器增加广播域,广播域越多,每个广播轻松划分子网域就越小,而每个网段的网络流量也越少。优化网络性能,这是减少网络流量的结果。简化管理,与庞大的网络相比,在一系列相连的小网络中找出并隔离网络问题更容易。有助于覆盖大型地理区域,WAN链路比LAN链路的速度慢得多,且

    2022年6月27日
    24
  • Git知识总览(一) 从 git clone 和 git status 谈起「建议收藏」

    Git知识总览(一) 从 git clone 和 git status 谈起「建议收藏」本篇博客是整理git相关知识的第一篇,因为之前一直是用SourceTree对Git的命令行操作用的不是特别熟,于是乎过了一遍ProGit(链接:https://git-scm.com/book/zh/

    2022年7月1日
    19
  • java 僵尸危机秘籍_《僵尸危机3》通关秘籍

    java 僵尸危机秘籍_《僵尸危机3》通关秘籍关于武器:1一开始给的手枪,子弹无限。2UZI:冲锋枪,一开始100发子弹,以后会更多3Shotgun:单暴,打小僵尸一下就死,BOSS5、6下,以后是连暴4Barrel:油桶,放了以后,打一枪就炸,注意别把自己炸死5Grenade:手榴弹,一扔就OK6walls:是墙,用来堵路的7Claymore:炸弹,放一个,走远点,僵尸走到那就爆了8Rocket:火箭弹:离远点再打,容易自残…

    2022年10月24日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号