我的编程空间,编程开发者的网络收藏夹
学习永远不晚

mysql5.7.28之主主配置

短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码


	mysql5.7.28之主主配置


	mysql5.7.28之主主配置
[数据库教程]

1 简介

1.1 主从同步

MySQL的主从复制是一个异步的复制过程(虽然一般情况下感觉是实时的),数据将从一个MySQL数据库复制到另一个MySQL数据库,在master与Slave之间实现整个主从复制的过程是有三个线程参与完成的。其中两个线程(SQL线程和IO线程)在slave端,另一个线程(I/O线程)在master端。

在默认情况下,MySQL的复制是异步的,这意味着主服务器及其从服务器是独立的。如果在主服务器或从服务器端发生故障,会造成主从数据的不一致,甚至在恢复时造成数据丢失。

MySQL5.5开始引入了一种半同步复制功能,该功能可以确保主服务器和访问链中至少一台从服务器之间的数据一致性和冗余。在这种配置结构中,一台主服务器和其许多从服务器都进行了配置,这样在复制拓扑中,至少有一台从服务器在父主服务器进行事务处理前,必须确认更新已经收到并写入了其中继日志(Relay Log)。

1.2 主主同步

主主同步事实上就是在主从的基础上,将原先的从机当主机,主机当从机再配置一遍主从同步。

2 环境 

172.17.0.3

node1

Master-1

172.17.0.4

node2

Master-2

 

3 安装部署

本次部署不涉及mysql数据库安装

3.1 节点配置--修改my.cnf配置

3.1.1 开启日志、打开gtid

3.1.1.1 node1

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

server-id=1

log-bin=mysql-bin

binlog_format = row

gtid_mode=ON   ##GTID复制又叫全局事物ID,代替了基于binlog和position号的主从复制搭建的方式,更便于主从复制的搭建

enforce_gtid_consistency=ON   ##确保gtid全局的一致性

3.1.1.2 node2

[mysqld]

datadir=/var/lib/mysql

socket=/var/lib/mysql/mysql.sock

server-id=2

log-bin=mysql-bin

binlog_format = row

gtid_mode=ON

enforce_gtid_consistency=ON

3.1.2 开启半同步复制

3.1.2.2 node1

1)安装相关插件

install plugin rpl_semi_sync_master soname ‘semisync_master.so‘;

install plugin rpl_semi_sync_slave soname ‘semisync_slave.so‘; 

技术图片

 

 

2)修改配置

方法1:(重启mysql后参数失效)

set global rpl_semi_sync_master_enabled=1;

set global rpl_semi_sync_master_timeout=2000;

set global rpl_semi_sync_slave_enabled=1;

方法2:修改my.cnf文件配置(参数永久有效)

rpl_semi_sync_master_enabled = 1

rpl_semi_sync_master_timeout = 2000

rpl_semi_sync_slave_enabled=1

技术图片

3)重启mysql服务,查看修改的参数

show global variables like ‘%rpl_semi%‘;

技术图片

 

 

3.1.2.3 node2

1)安装相关插件

install plugin rpl_semi_sync_master soname ‘semisync_master.so‘;

install plugin rpl_semi_sync_slave soname ‘semisync_slave.so‘;  

技术图片

 

 

2)修改配置

方法1:(重启mysql后参数失效)

set global rpl_semi_sync_master_enabled=1;

set global rpl_semi_sync_master_timeout=2000;

set global rpl_semi_sync_slave_enabled=1;

方法2:修改my.cnf文件配置(参数永久有效)

rpl_semi_sync_master_enabled = 1

rpl_semi_sync_master_timeout = 2000

rpl_semi_sync_slave_enabled=1

技术图片

3)重启mysql服务,查看修改的参数

show global variables like ‘%rpl_semi%‘;

技术图片

 

 

3.2 正向主从配置

3.2.1 node1授权

 

mysql> alter user root@‘localhost‘ identified by ‘Aa!123456‘;

 

mysql> grant replication slave on *.* to root@‘%‘ identified by ‘Aa!123456‘;

 

mysql> grant all privileges on *.* to root@‘%‘ identified by ‘Aa!123456‘;

 

mysql> flush privileges;

 

 

 

3.2.2 node2授权

 

mysql> alter user root@‘localhost‘ identified by ‘Aa!123456‘;

 

mysql> grant all privileges on *.* to root@‘%‘ identified by ‘Aa!123456‘;

 

mysql> change master to master_host=‘172.17.0.3‘,master_user=‘root‘,master_password=‘Aa!123456‘,master_auto_position=1;

 

mysql> start slave;

 

mysql> show slave statusG;

技术图片

 

 

3.3 反向主从配置

3.3.1 修改my.cnf文件

3.3.1.1 Node1

auto_increment_increment=2 ##一般有n台主MySQL就填n

auto_increment_offset=1 ##设定数据库中自动增长的起点,两台mysql的起点必须不同,这样才能避免两台服务器同步时出现主键冲突

3.3.1.2 Node2

auto_increment_increment=2 ##一般有n台主MySQL就填n

auto_increment_offset=2 ##设定数据库中自动增长的起点,两台mysql的起点必须不同,这样才能避免两台服务器同步时出现主键冲突

 

3.3.2 两个节点授权

3.3.2.1 Node1

grant replication slave, replication client on *.* to ‘root‘@‘172.17.0.4‘ identified by‘Aa!123456‘;

change master to master_host=‘172.17.0.4‘,master_user=‘root‘,master_password=‘Aa!123456‘,master_auto_position=1;

flush privileges;

start slave;

show slave statusG;

技术图片

 

 

3.3.2.2 Node2

grant replication slave, replication client on *.* to ‘root‘@‘172.17.0.3‘ identified by‘Aa!123456‘;

flush privileges;

注:node2在正向主从配置时,已经配置过它的主为172.17.0.3,所以无需再配置

 

mysql5.7.28之主主配置

原文地址:https://www.cnblogs.com/jiayan666/p/14285064.html

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

mysql5.7.28之主主配置

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

mysql5.7.28之主主配置

1 简介1.1 主从同步MySQL的主从复制是一个异步的复制过程(虽然一般情况下感觉是实时的),数据将从一个MySQL数据库复制到另一个MySQL数据库,在master与Slave之间实现整个主从复制的过程是有三个线程参与完成的。其中两个线程(SQL线程和IO

	mysql5.7.28之主主配置
2015-03-07

CentOS7下RPM模式搭建MySQL5.7.28主从复制

一、配置文件: 主库(192.168.128.111): [client]port=3306socket=/approot/data/mysql/mysql.sockdefault-character-set=utf8[mysql]port=3306# 设置m
CentOS7下RPM模式搭建MySQL5.7.28主从复制
2021-05-10

MySQL双主(主主)架构配置方案

在企业中,数据库高可用一直是企业的重中之重,中小企业很多都是使用mysql主从方案,一主多从,读写分离等,但是单主存在单点故障,从库切换成主库需要作改动。因此,如果是双主或者多主,就会增加mysql入口,增加高可用。不过多主需要考虑自增长I
2022-05-14

Mysql实现主从配置和多主多从配置

我们现在模拟的是主从(1台主机、一台从机),其主从同步的原理,就是对bin-log二进制文件的同步,将这个文件的内容从主机同步到从机。 一、配置文件的修改1、主机配置文件修改配置我们首先需要mysql主机(192.168.254.130)的
2022-05-30

mysql8主从配置

一、一般配置主从(这里主是m3300,从是3301、3302)1.配置m3301从mysql8里拿出这两个文件到m33012.配置my.ini初始化mysql8mysqld --initialize-insecure;安装服务mysqld -install m
mysql8主从配置
2015-10-09

Mysql如何实现主从配置和多主多从配置

这篇文章主要介绍了Mysql如何实现主从配置和多主多从配置,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我们现在模拟的是主从(1台主机、一台从机),其主从同步的原理,就是对b
2023-06-15

【Linux Mysql主从配置】整理主从配置遇到的坑!

说明:-u :用户名  -p :密码  --lock-all-tables :执行操作时锁住所有表,防止操作时有数据修改1、设置mysql配置文件[ 我使用的宝塔,所以直接在软件商店的mysql里边直接进行配置设置 ]主服务器:【mysqld】:log-bin
【Linux Mysql主从配置】整理主从配置遇到的坑!
2021-11-06

编程热搜

目录