当前位置: 移动技术网 > 科技>操作系统>Linux > 第九周LINUX 学习笔记

第九周LINUX 学习笔记

2019年04月29日  | 移动技术网科技  | 我要评论

主神池,站长教程,网上购物论坛

                            基于gtid的mysql主从简单复制

一、简单主从模式配置步骤

1、配置主从节点的服务配置文件

1.1、配置master节点:
[mysqld]
binlog-format=row
log-bin=master-bin
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=table
relay-log-info-repository=table
sync-master-info=1
slave-parallel-workers=2 在mariadb 中是slave-parallel-threads 多线程复制
binlog-checksum=crc32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=1
report-port=3306
port=3306
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=master.magedu.com(注意这里填的是本机的主机名)

1.2、配置slave节点:
[mysqld]
binlog-format=row
log-slave-updates=true
gtid-mode=on
enforce-gtid-consistency=true
master-info-repository=table
relay-log-info-repository=table
sync-master-info=1
slave-parallel-workers=2    在mariadb 中是slave-parallel-threads
binlog-checksum=crc32
master-verify-checksum=1
slave-sql-verify-checksum=1
binlog-rows-query-log_events=1
server-id=11
report-port=3306
port=3306
log-bin=mysql-bin.log
datadir=/mydata/data
socket=/tmp/mysql.sock
report-host=slave.magedu.com

2、创建复制用户

mysql> grant replication slave on *.* to repluser@172.16.100.7 identified by 'replpass';

说明:172.16.100.7是从节点服务器;如果想一次性授权更多的节点,可以自行根据需要修改;

3、为备节点提供初始数据集

锁定主表,备份主节点上的数据,将其还原至从节点;如果没有启用gtid,在备份时需要在master上使用show master status命令查看二进制日志文件名称及事件位置,以便后面启动slave节点时使用。

4、启动从节点的复制线程

如果启用了gtid功能,则使用如下命令:
mysql> change master to master_host='master.magedu.com', master_user='repluser', master_password='replpass', master_auto_position=1;

没启用gtid,需要使用如下命令:
slave> change master to master_host='172.16.100.6',
-> master_user='repluser',
-> master_password='replpass',
-> master_log_file='master-bin.000003',
-> master_log_pos=1174;



二、半同步复制

1、分别在主从节点上安装相关的插件

master> install plugin rpl_semi_sync_master soname 'semisync_master.so';
slave> install plugin rpl_semi_sync_slave soname 'semisync_slave.so';

2、启用半同步复制

在master上的配置文件中,添加
rpl_semi_sync_master_enabled=on

在至少一个slave节点的配置文件中添加
rpl_semi_sync_slave_enabled=on

而后重新启动mysql服务即可生效。


或者,也可以mysql服务上动态启动其相关功能:

master> set global rpl_semi_sync_master_enabled = on;
slave> set global rpl_semi_sync_slave_enabled = on;
slave> stop slave io_thread; start slave io_thread;

3、确认半同步功能已经启用

master> create database magedudb;
master> show status like 'rpl_semi_sync_master_yes_tx';

slave> show databases;

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网