08MySQL 核心篇三

本文详细介绍了MySQL的主从复制基础,包括基于二进制日志的复制原理,搭建过程,以及主从复制的监控和故障模拟。还探讨了主从复制的高级进阶话题,如延迟从库、GTID复制和主从复制架构的演变,强调了高可用性和应对物理、逻辑损坏的解决方案。
摘要由CSDN通过智能技术生成

1.MySQL核心篇三

01.主从复制基础

a.主从复制简介

1.1. 基于二进制日志复制的
1.2. 主库的修改操作会记录二进制日志
1.3. 从库会请求新的二进制日志并回放,最终达到主从数据同步
1.4. 主从复制核心功能:
辅助备份,处理物理损坏                   
扩展新型的架构:高可用,高性能,分布式架构等

高可用架构方案:
负载均衡:有一定的高可用性 
LVS  Nginx
主备系统:有高可用性,但是需要切换,是单活的架构
KA ,   MHA, MMM
真正高可用(多活系统): 
NDB Cluster  Oracle RAC  Sysbase cluster   , InnoDB Cluster(MGR),PXC , MGC

在这里插入图片描述

b.主从复制搭建过程

第一步由于我们已经配置过3306,所以把3306的配置文件复制一遍修改端口即可(以下文件里面的内容都是可以自己设置的)

[root@db01 ~]# cat /data/3307/my.cnf
[mysqld]
basedir=/application/mysql ---MySQL软件放置的位置
datadir=/data/3307/data  ---3307实例的数据存放位置
socket=/data/3307/mysql.sock ---3307本地连接的socket文件位置
port=3307  ---3307实例的端口为3307端口
log-error=/data/3307/mysql.log  ---3307的错误日志存放位置
log_bin=/data/3307/mysql-bin  ---3307的binlog文件位置
binlog_format=row
skip-name-resolve
server-id=7   ---3307实例的编号
gtid-mode=on  ---开启gtid
enforce-gtid-consistency=true
log-slave-updates=1

第二步3308 和3309配置文件解释(略)和3307一样
第三步配置3307 3308 3309的systemd管理的配置文件(以3307为例)

由于3306设置过systemd管理的文件,所以这里直接拷贝
root@db01 /etc/systemd/system]# ll
-rw-r--r--  1 root root  332 Apr  6 11:52 mysqld3307.service
-rw-r--r--  1 root root  332 Apr  6 11:52 mysqld3308.service
-rw-r--r--  1 root root  332 Apr  6 11:52 mysqld3309.service
-rw-r--r--  1 root root  333 Apr  6 11:52 mysqld3310.service
-rw-r--r--  1 root root  326 Mar 15 16:42 mysqld.service

对3307实例的systemd管理的配置文件进行修改
[root@db01 /etc/systemd/system]# cat mysqld3307.service 
[Unit]
Description=MySQL Server
Documentation=man:mysqld(8)
Documentation=http://dev.mysql.com/doc/refman/en/using-systemd.html
After=network.target
After=syslog.target
[Install]
WantedBy=multi-user.target
[Service]
User=mysql
Group=mysql
ExecStart=/application/mysql/bin/mysqld --defaults-file=/data/3307/my.cnf  ---只用修改这里即可,把my.cnf文件换成当前实例的my.cnf文件存放的位置,然后就可以systemctl启动数据库了
LimitNOFILE = 5000

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

c.告知从库复制信息

在这里插入图片描述
在这里插入图片描述
在从库中开启专用复制线程
在这里插入图片描述
上面两个从库和主库建立关系之后,就可以使用了

d.主从复制原理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

e.主从监控

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

f.主从故障模拟

1.搭建主从关系时,信息内容错误
在这里插入图片描述
在这里插入图片描述
2.日志中断或者损坏,或者主库有清空binlog的情况,或者主库要重做binlog的情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
3.SQL线程故障
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

g.小知识点扩展

在这里插入图片描述

02.主从复制高级进阶

a.什么是主从复制延时

介绍:
是我们认为配置的一种特殊从库.人为配置从库和主库延时N小时.

为什么要有延时从:
数据库故障?
物理损坏
主从复制非常擅长解决物理损坏.
逻辑损坏
普通主从复制没办法解决逻辑损坏

b.主从延复制监控

在这里插入图片描述
在这里插入图片描述

c.主从复制延时原因

在这里插入图片描述

d.特殊从库的应用 (延时从库)

在这里插入图片描述
在这里插入图片描述

e.故障模拟与恢复

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

f.从库恢复

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

g.GTID复制

在这里插入图片描述
https://www.jianshu.com/p/82bc8ed98e7f 构建方法连接

主库db01:
cat > /etc/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=51
port=3306
secure-file-priv=/tmp
autocommit=0
log_bin=/data/mysql/binlog/mysql-bin
binlog_format=row
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
[mysql]
prompt=db01 [\\d]>
EOF

从库(db02)cat > /etc/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=52
port=3306
secure-file-priv=/tmp
autocommit=0
log_bin=/data/mysql/binlog/mysql-bin
binlog_format=row
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
[mysql]
prompt=db02 [\\d]>
EOF

从库(db03)cat > /etc/my.cnf <<EOF
[mysqld]
basedir=/application/mysql
datadir=/data/mysql/data
socket=/tmp/mysql.sock
server_id=53
port=3306
secure-file-priv=/tmp
autocommit=0
log_bin=/data/mysql/binlog/mysql-bin
binlog_format=row
gtid-mode=on
enforce-gtid-consistency=true
log-slave-updates=1
[mysql]
prompt=db03 [\\d]>
EOF
三个都初始化
mysqld --initialize-insecure --user=mysql --basedir=/application/mysql  --datadir=/data/mysql/data 
三个都启动mysqld
systemctl start mysqld

在这里插入图片描述

h.主从复制架构演变

在这里插入图片描述
在这里插入图片描述

搭建MHA过程:https://www.jianshu.com/p/0f7b5a962ba7
F:\老男孩DBA专家班\老男孩-深圳标杆版-DBA课程笔记  第十六章笔记   (个人笔记)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值