主从同步操作==========================================
我在mongod4.0运行时提示:[main] Master/slave replication is no longer supported
也就是mongodb4.0后不再支持主从复制!
所有只能使用副本集,以下是副本集的一些配置信息,特此记录。
mongo 安装并启动后:
1.进入mongodb cli管理
mongo> mongo
2.查看库
mongo> show dbs;
3.查看用户
mongo> use admin;
mongo> db.getUsers();
4.创建超级管理员
mongo> db.createUser({ user:"root", pwd:"rootpw", roles:[{role:"root", db:"admin"}] });
5.创建数据库管理用户
mongo> db.createUser({ user: "ec_info", pwd: "ec_infopw", roles: [{ role: "readWrite", db: "ec_info" }] });
6.用户登录
mongo> mongo 47.119.151.25/admin -u admin -p
或者
mongo> use admin;
mongo> db.auth("root", "rootpw");
mongo> db.shutdownServer();
7.修改用户
mongo> db.getUsers();
mongo> db.updateUser("admin", {roles:[ {role:"root",db:"admin"} ]})
8.删除用户
mongo> db.dropUser("ec_info");
副本集创建==========================================
1.修改配置文件mongodb.conf,片段:
security:
# 启用鉴权
authorization: enabled
# 你的keyFile存放路径
keyFile: /www/server/mongodb/energy-rc.key
replication:
# oplogSize的大小,单位为M,建议空闲磁盘的5%
oplogSizeMB: 1024
# 复制集的名称,需要记住
replSetName: ec_info
2.副本集配置
mongo> var rs_conf={
"_id" : "ec_info", "members" : [
{"_id" : 0, "host" : "192.168.1.10:27017"},
{"_id" : 1, "host" : "192.168.1.11:27017"}
]
}
3.初始化副本集
mongo> rs.initiate(rs_conf);
mongo> rs.reconfig(rs_conf, {force:true});
4.查看副本状态
mongo> rs.status();
5.允许副本可读
如果显示 not master and slaveOk=false 错误,则在主服务器里设置 secondary 节点可读。
mongo> rs.slaveOk()
mongo> #rs.secondaryOk()
管理命令==========================================
cd /www/server/mongodb/bin
#停止
mongod --shutdown --dbpath=/www/server/mongodb/data
#启动
./mongod --dbpath=/www/server/mongodb/data --logpath=/www/server/mongodb/log/mongod.log --logappend --port=27017 --fork