Linux环境下配置MySql主从复制

mysql具体安装步骤参考上篇文章,下面开始mysql的主从复制搭建。

主从模式适应场景
MySQL主从模式是指数据可以从一个MySQL数据库服务器主节点复制到一个或多个从节点。MySQL 默认采用异步复制方式,这样从节点不用一直访问主服务器来更新自己的数据,从节点可以复制主数据库中的所有数据库,或者特定的数据库,或者特定的表。
Linux环境下配置MySql主从复制_第1张图片
Linux环境下配置MySql主从复制_第2张图片
Linux环境下配置MySql主从复制_第3张图片
Linux环境下配置MySql主从复制_第4张图片
Linux环境下配置MySql主从复制_第5张图片

一,首先对master的配置文件my.cf进行配置(/etc目录下)
在这里插入图片描述修改配置
Linux环境下配置MySql主从复制_第6张图片
修改完配置重新启动 systenctl restart mysqld
重新登陆mysql

授权操作,主库给从库授权
grant replication slave on *.* to 'root'@'%' identified by 'root';
grant all privileges  on *.* to 'root'@'%' identified by 'root';
刷新权限
flush privileges;
查看主库状态
show master status;

之后要是需要连接navicat时,连接密码为:root
在这里插入图片描述
Linux环境下配置MySql主从复制_第7张图片

Linux环境下配置MySql主从复制_第8张图片
二,配置slave
Linux环境下配置MySql主从复制_第9张图片
重启slave,登陆mysql,查看从节点状态,应该是什么都不显示如果有显示表示之前启用过,应该关闭stop slave。
Linux环境下配置MySql主从复制_第10张图片
同步初始化配置命令(里边部分数据在show master slave里)

change master to master_host='192.168.159.139',master_port=3306,master_user='root',master_password='root',master_log_file='mysql-bin.000002',master_log_pos=869;
start slave
show slave status;

Linux环境下配置MySql主从复制_第11张图片
Linux环境下配置MySql主从复制_第12张图片

数据比较多,如果想查看竖版的可以在命令后边加上‘’\G‘’
Linux环境下配置MySql主从复制_第13张图片
去主节点master上创建一个表user
Linux环境下配置MySql主从复制_第14张图片
去slave节点查看,内容已经同步
Linux环境下配置MySql主从复制_第15张图片
主从配置成功。

三,slave扩展(一主多备)
如果一主一从运行了一段时间了,不够用需要再加slave节点。如何同步数据。
可以使用mysqldump命令,将master上的文件下载下来,然后去新加入的slave节点去运行。
Linux环境下配置MySql主从复制_第16张图片
是否支持动态安装

 select @@have_dynamic_loading;

Linux环境下配置MySql主从复制_第17张图片
查看插件 show plugins;
Linux环境下配置MySql主从复制_第18张图片
四,半从库复制
master安装插件修改数据

install plugin rpl_semi_sync_master soname 'semisync_master.so';
show variables like '%semi%';
set global  rpl_semi_sync_master_enabled=1
set global  rpl_semi_sync_master_timeout=1000;

Linux环境下配置MySql主从复制_第19张图片
slave 安装插件修改参数

 install plugin rpl_semi_sync_slave soname 'semisync_slave.so';
 set global rpl_semi_sync_slave_enabled=1;
 stop slave;
 start slave;

Linux环境下配置MySql主从复制_第20张图片
查看日志/var/log/mysql.log。证明半同步复制实现

五,并行复制

show variables like '%binlog_group%';
#delay 延迟
set  binlog_group_commit_sync_delay=1000;
#每个组里有多少事务数
set global binlog_group_commit_sync_no_delay_count =100;

Linux环境下配置MySql主从复制_第21张图片
slave从库设置

Linux环境下配置MySql主从复制_第22张图片

5.7 引入了新的变量slave-parallel-type,其可以配置的值有:DATABASE(默认值,基于库的并行复制方式)、LOGICAL_CLOCK(基于组提交的并行复制方式)。
set global slave_parallel_type='LOGICAL_CLOCK';
线程数设置个4-8
set global  slave_parallel_workers=8;

Linux环境下配置MySql主从复制_第23张图片
Linux环境下配置MySql主从复制_第24张图片
relay_log_recovery’无法用set命令更改,进入文件、etc/mysql.cng
Linux环境下配置MySql主从复制_第25张图片
有些用set设置的参数重启后可能会失效,配置文件中配置比较靠谱
systemctl restart mysqld

主库添加一条信息,从库查看

证明并行复制开始生效。

你可能感兴趣的:(Mysql,mysql,linux,数据库)