mysql笔记:24. 主从同步环境搭建

本文详细介绍了MySQL主从同步的基本原理、基于日志点和GTID的配置方法,涵盖了复制延时优化、监控以及常见故障的解决策略。


MySQL的主从同步(Master-Slave Replication)是一个常用的数据备份和恢复策略,它允许在两个或多个数据库服务器之间实现数据同步。这种方案不仅可以提高数据备份的效率,还可以实现读写分离,从而提高整个系统的性能和可靠性。其中,主动发送数据的MySQL Server称为主(Master),被动接收数据的MySQL Server称为从(Slave)。

一、主从同步的基本原理

MySQL主从同步是基于二进制日志(binlog)实现的。主数据库将数据变更记录在binlog中,而从数据库则通过读取binlog来获取这些变更,并将它们应用到自己的数据库中。这样,从数据库就可以保持与主数据库的数据一致性。
在这里插入图片描述

二、基于日志点的主从同步

基于日志点的复制是指,Slave明确指定从Master中某个日志文件中的某个位置开始复制,从该日志点之后的数据变更都可以复制到Slave。
配置步骤如下:

  1. Master与Slave中都配置server_id,并指定使用二进制日志。
  2. Master中创建供Slave复制时使用的用户,并为其指定权限。
  3. Master中查看当前二进制文件的信息,包括文件名、日志位置。
  4. Slave指定Master具体信息,包括IP、端口、用户、复制的起始位置。
  5. Slave开启复制。

1. 环境准备

  • 两台服务器
    一台作为主服务器(Master),一台作为从服务器(Slave)
  • 均安装MySQL8.0
  • 均安装Navicat[可选项]
    使用数据库连接工具Navicat可以便捷的连接数据库,从而方便操作。

2. 配置主服务器(Master)

编辑主服务器的MySQL配置文件,通常位于/etc/mysql/mysql.conf.d/mysqld.cnf/etc/my.cnf,添加下列配置项:

[mysqld]
server-id=1
log-bin=mysql-binlog
binlog-do-db=your-database-name
  • server-id:MySQL服务器的唯一ID,主从服务器ID不能相同
  • log-bin:启用二进制日志,记录所有数据库的修改信息
  • binlog-do-db:指定需要同步的数据库名(可选配置)

重启MySQL服务使配置生效。
然后,登录MySQL并执行以下命令:

# 查看配置server_id的值,确认配置已生效
SHOW VARIABLES LIKE 'server_id';

# 在Master上创建复制用户并授权
CREATE USER 'replication_user'@'%' identified by 'password';
GRANT REPLICATION SLAVE ON *.* TO 'replication_user'@'%';
# 刷新用户权限信息
FLUSH PRIVILEGES;

# 查看Master状态
SHOW MASTER STATUS;

3. 配置从服务器(Slave)

编辑从服务器的MySQL配置文件,添加下列配置项:

[mysqld]  
server-id=2
relay-log=mysql-relay-bin
replicate-do-db=your_database_na
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值