文章目录
简介
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端口号一般写同样的端口号,但在一机多实例时要开启多个端口号。
主要流程

- 主服务器上创建一个专用于备份的用户。
- 主服务器备份数据一做同步使用。
- 从服务器关闭日志手动同步数据,在开启日志信息。
- 从服务器更改master信息,在开启slave服务。
- 收尾,验证组从结构是否成功。
主从复制前提
- 2个或者以上的数据库实例。
- 主库需要开启二进制日志。
- server_id要不同,区分不同的节点。
- 主库需要建立专属的复制用户(replication slave)
- 从库应该通过备份主库、回复的方法进行复制历史记录。
- 认为告诉库一些复制信息(ip、port、user、password、二进制日志起点)。
- 从库应该开启专属复制线程。
- 主服务器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 |

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

被折叠的 条评论
为什么被折叠?



