MySQL主从结构及部署

本文介绍了MySQL主从复制的原理、配置过程、一主多从结构以及GTID复制,详细讲解了不同MySQL版本的主从搭建,包括在主服务器5.6和从服务器5.7上的步骤,并探讨了主从延时的安全设置。

简介

MySQL主从复制干啥的
1.MySQL主从复制可以在锁表的过程中不影响业务的正常运行,主库负责写,从库负责读,这样主库锁表也能,通过从库正常运行业务。
2.能做到数据的热备份分。
3.架构的扩展,业务量越来越大,l/o访问频率过高,单机无法满足,此时做多库处存,降低磁盘 l/o访问的频率,提高单个机器的l/o性能。
4.MySQL 主从复制是指数据,可以从一个MySQL数据库服务器主节点复制到一个或多个节点上,为了数据安全。
5.MySQL 默认采用异步复制方式,这样从节点不用一直访问主从服务器来更新自己的数据,数据的更新可以在远程连接上进行,从节点可以复制主库中的全部数据库(单个数据库)或者特定的表。

MySQL复制原理

1.MySQL服务服务器数据的改变记录二进制binlog日志,当master上的数据发生改变时,则将其改变写入二进制日志中。
2.slave服务器会在一定时间间隔内对master二进制日志进行探测是否有改变,如果发生改变,则开始一个l/o thread请求master二进制事件。
3.同时主节点为每个l/o线程启动一个dump线程,用于向其发送二进制事件,并保存与从节点本地的中继日志中。从节点启动sql线程从中继日志中读取二进制日志,在本地重放,使得其数据和节点保持一致,最后l/othread和sql thread将进入睡眠状态,等待下次被唤醒。
简介语言概述
》》从库会生成两个线程,一个l/o线程,一个sql线程。
》》l/o线程会去请求主库的binlog,并将的到binlog写到本地的relay-log(中继日志 )文件中。
》》主库会生成一个log dump线程,用来给从库l/o线程穿binlog。
》》sql线程,会读取relay log文件中的日志,并解析成sql语句之一执行。

不同版本的主从配置

实验开始

MySQL主从搭建

搭建MySQL主从复制环境,必须在my.cnf中写入server_id,服务id号是唯一的不能重复。port端口号一般写同样的端口号,但在一机多实例时要开启多个端口号。

主要流程

在这里插入图片描述

  1. 主服务器上创建一个专用于备份的用户。
  2. 主服务器备份数据一做同步使用。
  3. 从服务器关闭日志手动同步数据,在开启日志信息。
  4. 从服务器更改master信息,在开启slave服务。
  5. 收尾,验证组从结构是否成功。

主从复制前提

  1. 2个或者以上的数据库实例。
  2. 主库需要开启二进制日志。
  3. server_id要不同,区分不同的节点。
  4. 主库需要建立专属的复制用户(replication slave)
  5. 从库应该通过备份主库、回复的方法进行复制历史记录。
  6. 认为告诉库一些复制信息(ip、port、user、password、二进制日志起点)。
  7. 从库应该开启专属复制线程。

- 主服务器5.6

创建复制用户:

mysql -uroot -ppassword  -e "grant replication slave on *.* to user@'192.168.1.%' identified by 'password';"

备份数据:

mysqldump -uroot -ppassword -A --master-data=2 --single-transaction -R -E --triggers >> /tmp/fulll.sql

修改配置文件my.cof修改内容如下

[mysqld]								##客户端
basedir=/usr/local/mysql			##默认数据存放地址
datadir=/usr/local/mysql/data			##默认的数据库存放位置
socket=/tmp/mysql.sock				##启动入口
server_id=1								##服务id号
port=3306								##端口号
log_bin=mysql-bin					##日志记录路径
[mysql]									##服务端
prompt=MySQL1>				##服务端名字

(prot端口一定要是未使用的端口)

查看pos号5.6

可以查看备份的二进制文件,里面记录了MySQL日志文件和节点(pos)号。注:File、psition号一定要记住,等一下配置从节点要用。

show master status;          ##可以查看当前所用的日志
+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000004 |    
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值