配置MySql主从和读写分离
主从复制: 主服务发生的改变都会同步到从服务器上。
同步原理,主服务器执行的任何语句,都会记录在 binlog 中,从服务器会去读取 binlog,因为binlog包含主服务器的相关信息,从服务器无法直接使用,所以从服务器会去分析binlog,然后转换为可以识别的relaylog(中继日志), 最后执行,从而完成主从复制。
主服务器需要配置binlog
从服务器需要配置relaylog
binlog是敏感信息,master需要授予slave权限(授予账号,salve使用分配的账户登陆获取binlog)
主服务器配置binlog:
修改主服务器配置文件:
从服务器配置:
注意,从服务通常也打开binlog,为了以防数据丢失恢复。并且需要配置 relaylog。
主服务器分配账号:
从父亲配置master:
查看主从是否打通:
主从配置完成
读写分离
解决并发问题,不同于分表,分表用于解决数据量过大的问题。
方式一:业务层使用不同的数据库
方式二:使用负载均衡,判断是什么语句,分配到不同的数据库
基于应用层和数据库层中间的代理层,主要解决方案有:
mycat
TDDL
Sharding-JDBC
cobar(mycat前身,阿里开发)
这些中间件,统一为多个数据库进行代理,应用只需连接中间件(分布式数据库系统),执行sql,中间件就会根据规则,将sql分配到不同的数据库中。
最后更新于
这有帮助吗?