就当我是那云朵

业精于勤荒于嬉 行成于思毁于随

mysql 一主多从配置说明

背景


mysql 一主多从的场景是经常见的,具体的业务场景里我们一般读的压力远远是大于写的压力,master我们可以用来做写操作,slave用来做读操作、备份,可以做到数据库的负载均衡。

同步复制过程说明
(1) master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日志事件,binary log events);
(2) slave将master的binary log events拷贝到它的中继日志(relay log);
(3) slave重做中继日志中的事件,将改变反映它自己的数据。

这里写图片描述

1、主数据库master

#半同步插件的安装
在Master上执行:
mysql> INSTALL PLUGIN rpl_semi_sync_master SONAME 'semisync_master.so';
各个Slave上执行:
mysql> INSTALL PLUGIN rpl_semi_sync_slave SONAME 'semisync_slave.so';

1.1、my.cnf 文件配置

log-bin=mysql-master-bin
#slave更新时是否记录到日志中
#binlog-slave-updates=true
server-id       = 129
binlog-do-db=powerdb
#开启半同步
rpl_semi_sync_master_enabled=ON
#
#slave不需要同步数据库
binlog-ignore-db=information_schema
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
#

1.2、创建用户用于主从同步的数据库
创建slave128账户 密码root ip 192.168.119.128可以访问

mysql> grant replication slave,super,reload on *.* to slave128@192.168.119.128 identified by 'root';

1.3 、查看状态

 show master status;

这里写图片描述

1.4 查看已连接的slave节点数据库

show slave hosts;

这里写图片描述

1.5 查看binlog日志

show binary logs;

2.从数据库配置 (slave)


2.1 my.cnf 文件配置

log-bin=mysql-slave-bin
binlog_format=mixed
#开启半同步
rpl_semi_sync_slave_enabled=1
server-id       = 128
replicate-do-db=powerdb
#slave不需要同步数据库
replicate-ignore-db=information_schema
replicate-ignore-db=mysql
replicate-ignore-db=performance_schema

2.2 修改master指向

mysql> change master to master_host='192.168.119.129', master_user='slave128', master_password='root';

2.3 启动或者关闭 slave 节点

mysql>start slave;
mysql>start stop;

2.4 查看节点状态

mysql> show slave status \G;

这里写图片描述

到这里基本就成功了,自己可以试试在主数据库里写数据,从数据库里是不是有数据更新了。配置多个从节点也安装这个配置就可以了,需要注意是,需要更新的操作都必须在master数据库操作,以避免用户对主服务器上的表进行的更新与对从服务器上的表所进行的更新之间的冲突;


参照资料

《高性能Mysql主从架构的复制原理及配置详解》

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wwuPower/article/details/78167264
个人分类: 数据库
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

mysql 一主多从配置说明

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭