mysql主从复制原理及配置步骤

简介: mysql主从复制原理及配置步骤

1、主从复制的基本原理:

  • slave 会从master 读取binlog来进行数据同步

2、MySQL主从复制的原理图及复制过程:

image.png

只要主机对应了Data changes ,会把这个行为写进 Binary log 里面,右边有一个 IO thread, slaver 会照着这个日志操作,执行主机做的事情。主机做什么,slaver 就读什么,回传,然后写到中继日志里面,然后启动一个 sql thread 线程进行复制。总结起来,一共分为三步:

  • master 将本机数据库操作记录记录到二进制日志( binary log )中,这些记录过程叫做二进制日志事件 binary log events
  • slave  master binary log events 拷贝到它的中继日志( relay log
  •  slave 重做中继日志中的事件,将master 的数据库操作记录应用到自己的数据库中, MYSQL 复制是异步且串行化的。

3、主从复制的基本原则

  • 每个salve只有一个master
  • 每个slave只能有一个唯一的服务器ID
  • 每个master可以有多个slave
  • 保证主从机的MySQL版本一致且后台以服务运行
  • 主从都配置在[mydqld]节点下,都是小写

4、主从复制的具体配置

1)window环境下master主机配置my.ini

  • [必配]主服务器唯一ID:server-id=1
  • [必]启用二进制日志:log-bin=MySQL的安装路径/mysqlbin
  • 启用错误日志:log-err=MySQL的安装路径/mysqlerr
  • 配置根目录:basedir=MySQL的安装路径/
  • 临时目录:tmpdir=MySQL的安装路径/
  • 数据目录:datadir=MySQL的安装路径/data/
  • 主机读写都可以:read-only=0
  • 设置不要复制的数据库:binlog-ignore-db=数据库名字
  • 设置需要复制的数据库:binlog-do-db=需要复制数据库名字

image.png

2)Linux环境下slave从机配置my.cnf

  • [必须]从机slave服务器唯一ID: server-id=2
  • 启用二进制日志:log-bin=mysql-bin

3)重启主机和从机的mysql服务,并关闭主机和从机的防火墙

4)在主机上建立账户并授权slave

  • GRANT REPLICATION SLAVE ON *.* TO ’zhangsan’@’ 从机器数据库IP’IDENTIFIED BY ‘123456’;

//授权复制给从机,允许从机以ZHANGSAN这个用户名,123456的密码登陆

  • 执行flush privileges;命令   //为了确保万无一失,最好刷新一下这个界面
  • show master status;//查看主机的状态并记录下 File 和 Postition 的值
  • 执行完此步骤后不要再操作主服务器 MYSQL,防止主服务器状态值变化

image.png

5)在 Linux 从机上配置需要复制的主机

  • CHANGE MASTER TO MASTER_HOST=’192.168.14.165’,

MASTER_USER=’zhangsan’,

MASTER_PASSWORD=’123456’,

MASTER_LOG_FILE=’mysqlbin.000035’,MASTER_LOG_POS=341;

  • 启动从服务器复制功能:start slave;
  • 查看从机装态:show slave status\G

Slave_IO_Running:Yes

Slave_SQL_Running:Yes ,这两个参数都为yes,则主从配置成功,否则一定失败。

image.pngimage.png

6)主机执行建库、建表操作,从机实现复制功能

7)停止主从复制功能:stop slave;//关闭从机

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
存储 SQL 关系型数据库
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
mysql底层原理:索引、慢查询、 sql优化、事务、隔离级别、MVCC、redolog、undolog(图解+秒懂+史上最全)
|
10月前
|
Ubuntu 安全 关系型数据库
安装与配置MySQL 8 on Ubuntu,包括权限授予、数据库备份及远程连接指南
以上步骤提供了在Ubuntu上从头开始设置、配置、授权、备份及恢复一个基础但完整的MySQL环境所需知识点。
1133 7
|
10月前
|
SQL 监控 关系型数据库
查寻MySQL或SQL Server的连接数,并配置超时时间和最大连接量
以上步骤提供了直观、实用且易于理解且执行的指导方针来监管和优化数据库服务器配置。务必记得,在做任何重要变更前备份相关配置文件,并确保理解每个参数对系统性能可能产生影响后再做出调节。
896 11
|
11月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
799 10
|
SQL 关系型数据库 MySQL
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
MySQL group by 底层原理详解。group by 执行 慢 原因深度分析。(图解+秒懂+史上最全)
|
Ubuntu 关系型数据库 MySQL
在Ubuntu 22.04上配置和安装MySQL
以上就是在Ubuntu 22.04上配置和安装MySQL的步骤。这个过程可能看起来有点复杂,但只要按照步骤一步步来,你会发现其实并不难。记住,任何时候都不要急于求成,耐心是解决问题的关键。
1590 31
|
Java 关系型数据库 MySQL
在Linux操作系统上设置JDK、Tomcat、MySQL以及J2EE后端接口的部署步骤
让我们总结一下,给你的Linux操作系统装备上最强的军队,需要先后装备好JDK的弓箭,布置好Tomcat的阵地,再把MySQL的物资原料准备好,最后部署好J2EE攻城车,那就准备好进军吧,你的Linux军团,无人可挡!
588 18
|
关系型数据库 MySQL Java
安装和配置JDK、Tomcat、MySQL环境,以及如何在Linux下更改后端端口。
遵循这些步骤,你可以顺利完成JDK、Tomcat、MySQL环境的安装和配置,并在Linux下更改后端端口。祝你顺利!
748 11
|
10月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
599 158
|
10月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。

推荐镜像

更多