MySQL Replication实现了Master节点可读可写,Slave节点只读主节点(Master): 可读可写
这样的逻辑结构,大大降低了主节点的压力。
因为MySQL的主要压力都是读操作,而非写操作。
通过增加Slave节点的数量,负载均衡读操作,大大提高用户体验,提升产品竞争力。
从节点(Slave): read only 只读
|
|
双主模式: 每个节点都读对方的二进制日志,都使用二进制日志
编辑各节点的MySQL配置文件
- 编辑主节点配置文件
|
|
- 编辑从节点配置文件
|
|
创建复制时使用的数据库用户
|
|
配置从节点连接主节点
|
|
启动复制线程,并查看错误日志
|
|
测试主从复制是否能够正常运行
|
|
如果从节点出现错误,数据不一致,该如何解决?
- 停止复制线程
|
|
- 重新设置MASTER_LOG_POS
|
|
- 启动复制线程
|
|
编辑两个节点的MySQL配置文件
- server_id=1的节点
|
|
- server_id=10的节点
|
|
两个主节点创建复制时使用的用户 (两台节点都要执行下面的步骤)
|
|
两个节点相互配置对方为主节点的信息
|
|
测试
- id=1的节点创建数据库mydb,并创建表tb1
|
|
- id=10的节点use mydb,查看表结构
|
|
- id=1的节点插入tb1中数据
|
|
- id=10节点插入数据
|
|
主主模式下生成的文件
|
|
配置两台数据库主机为主从复制
|
|
主节点创建复制时使用的用户
|
|
从节点配置主节点配置信息
|
|
安装半同步的插件
|
|
启用半同步的插件
|
|
从节点开启半同步复制
|
|
主节点测试半同步
|
|
设置从节点只复制指定数据库
|
|
测试
- 测试是否可以正常复制
|
|
- 测试mydb是否可以正常复制
|
|
在上一个实验的基础上,也就是一个主从的基础上,再做一台从节点
|
|
- 测试
|
|
在主节点创建一个给ProxySQL进行远程登录MySQL数据库的账号(从节点自动同步)
|
|
在新的一台虚拟机上安装proxySQL
|
|
启动ProxySQL并连接数据库
|
|
通过ProxySQL连接的数据库进行创建表,进行测试(默认连接的是主服务器,具有读写功能)
|
|
ProxySQL节点查看主从节点信息
|
|
本文出自Maxie’s Notes博客,转载请务必保留此出处。