准备好两台测试服务器
主 10.0.0.3
从 10.0.0.4
一、两台服务器安装mongodb数据库
第一步:创建好目录
mkdir -p /data_master/tools/
cd /data_master/tools/
第二步:下载完安装包并解压
#下载
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz
#解压
tar -zxvf mongodb-linux-x86_64-3.0.6.tgz
第三步:将解压包拷贝到指定目录
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb
第四步:添加环境变量并重启环境变量
echo "export PATH=/usr/local/mongodb/bin:$PATH" >>/etc/profile
source /etc/profile
第五步:创建数据库目录
#MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
#以下实例中我们将data目录创建于根目录下(/)。
#注意:/data/db 是 MongoDB 默认的启动的数据库路径(--dbpath)。
mkdir -p /data_master/db
mkdir -p /data_master/mongdb/log
mkdir -p /data_master/db_slave
二、主服务器启动mongodb
第六步:命令行中运行mongodb服务
cd /usr/local/mongodb/bin
./mongod -dbpath /data_master/db -master
三、从服务器启动mongodb
第六步:命令行中运行mongodb服务
cd /usr/local/mongodb/bin
./mongod -dbpath /data_master/db_slave -slave -source 10.0.0.3:27017
在报错的slave机器上执行 rs.slaveOk()方法即可。
rs.slaveOk()
show dbs
local 0.078GB
test 0.078GB
use test
switched to db test
show collections
system.indexes
users
db.users.find()
{ "_id" : ObjectId("55763d98db85929bb8addedf"), "username" : "lwb" }
{ "_id" : ObjectId("55764a694b24187a7a3c6693"), "username" : "mongodb master-sla
四、带账户验证的主从复制
openssl rand -base64 741 > /root/mongo-keyfile
主库生成这个配置文件
生成完成后把权限改小一些
scp传送给从库
权限给成400最好
(后期因为权限的问题可能会有报错)
然后在没有设置用户验证的情况下 先进入主库和从库的mongodb 进行设置用户
设置验证的用户和密码
use admin
switched to db admin
db.createUser( { user:'dbAdmin', pwd:'aqMkDuYbRAvfgJk', roles:["root"] } );
Successfully added user: { "user" : "dbAdmin", "roles" : [ "root" ] }
use jhpicdb
switched to db jhpicdb
db.createUser( { user:'jhpicdb', pwd:'aqMkDuYbRAvfgJk', roles:["readWrite"] } );
Successfully added user: { "user" : "admin", "roles" : [ "readWrite" ] }
然后下载命令行登录就得验证用户
[root@vm-11a001mz log]# mongo
MongoDB shell version: 3.0.6
connecting to: test
use admin
switched to db admin
db.auth("dbAdmin","aqMkDuYbRAvfgJk");
1
show dbs
admin 0.078GB
jhpicdb 49.930GB
local 0.078GB
注意啊,两个库的操作要一致。
主库上面的配置文件
[root@root backup]# cd /usr/local/mongodb/bin/
[root@root bin]# cat mongodb.conf
idae - MongoDB config start - 20180203
master = on
设置数据文件的存放目录
dbpath = /data_master/db
设置日志文件的存放目录及其日志文件名
logpath = /data_master/mongdb/log/mongo.log
设置端口号(默认的端口号是 27017)
port = 27017
设置为以守护进程的方式运行,即在后台运行
fork = true
nohttpinterface = true
nohttpinterface = true
#打开认证
auth = on
#主库
#master = on
#密钥
keyFile = /root/mongo-keyfile
从库上面的配置文件
[root@root ~]# cd /usr/local/mongodb/bin/
[root@root bin]# cat mongodb.conf
idae - MongoDB config start - 20180203
设置数据文件的存放目录
dbpath = /data_master/db_slave
设置日志文件的存放目录及其日志文件名
logpath = /data_master/mongdb/log/mongo.log
设置端口号(默认的端口号是 27017)
port = 27017
#从库
slave = on
source = 10.0.0.3:27017
设置为以守护进程的方式运行,即在后台运行
fork = true
nohttpinterface = true
nohttpinterface = true
#打开认证
auth = on
#密钥
keyFile = /root/mongo-keyfile
#repair = on
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com