MySQL / Redis / MongoDB 读写分离设置
数据库读写分离设置MySQL# master配置server-id=200 # 一般取IP的最后一组数字innodb_flush_log_at_trx_commit=2sync_binlog=1log-bin=mysql-bin-200binlog-do-db= # 同步的数据库的名称,全部可以使用 *重启MySQL# 客户端执行...
·
数据库读写分离设置
MySQL
# master配置
server-id=200 # 一般取IP的最后一组数字
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-200
binlog-do-db= # 同步的数据库的名称,全部可以使用 *
重启MySQL
# 客户端执行命令,授权给 slave
grant replication slave on *.* to 'zhang'@"IP" identified by '123456';
show master status;
# slave 更改配置
server-id=201
innodb_flush_log_at_trx_commit=2
sync_binlog=1
log-bin=mysql-bin-201
# slave mysql客户端执行命令
change master to master_host='10.7.152.77', # 连接 master的 IP
master_user='zhang', # master授权的用户
master_password='123456', # 密码
master_log_file='mysql-bin-200.000002', # master 的日志位置
master_log_pos=448; # master 的 Position
start salve;
show slave status\G; # 查看状态
Redis
-
通过修改conf文件来配置主从, 一般都是在一台服务器上面作为专门的 redis 服务器
-
启动
redis-server redis.conf
# master master.conf
port 6000
requirepass 123456 # 480行
# redis-server master.conf
# 测试 redis-benchmark -h IP -p Port -a password
# 查看连接
# slave slave.conf 应该配置多个 slave 对master进行读取
port 6001
slaveof 127.0.0.1 6000
masterauth 123456 # 对主机的验证,也是master的密码
requirepass 123456 # master设置的密码
# redis-server slave.conf
# 配置 sentinel(哨兵,守护进程),当master宕机时,选取 slave 作为master
# 更该 sentinel.conf文件(最好将原文件复制一份进行更改)
bind IP # master-IP 即 内网 IP
port 端口
sentinel monitor mymaster IP port num # master的公网IP,port,哨兵数,指当有num个哨兵同时监测到master宕机时,开始选举新的master
sentinel anth-pass mymaster <password> # master的 密码
sentinel down-after-millisenconds mymaster 3000 # 开始投票的反应时间
sentinel failover-timeout mymaster 180000 # 设置返回的时间,在规定时间返回可以继续作为master
# 启动哨兵,哨兵也会宕机,应该多启动几个进行守护
redis-server sentinel.conf --sentinel
MongoBD
-
可以在 slave 上启动多个 salve 创建不同的目录进行保存数据,实现master执行20%的写和salve实现80%的查询操作
# master 启动
mongod --bind_ip_all --dbpath /data/master -master
# slave 启动
mongod --dbpath /data/slave -slave -source masterIP:port # master的IP和端口
PostgreSQL
这个很多,推荐参考这篇文章 https://yq.aliyun.com/articles/59344
更多推荐
已为社区贡献7条内容
所有评论(0)