简述mysql 主从复制原理及其工作过程,配置一主两从并验证

原理:

MySQL主从复制是基于事件的复制机制。主服务器负责处理所有的写操作和事务,并将这些更改(如INSERT、UPDATE和DELETE)以事件的形式记录到二进制日志(binlog)中。从服务器则通过读取主服务器的二进制日志来获取数据更改信息,并将这些更改应用到自身的数据库中,从而保持与主服务器数据的一致性。

工作过程

主库记录日志:主库将数据变更写入 binlog。

从库连接主库:从库的 I/O 线程连接主库,请求 binlog。

传输日志:主库的 binlog dump 线程将 binlog 发送给从库。

从库应用中继日志:从库的 I/O 线程将收到的 binlog 写入 relay log,SQL 线程重放 relay log 中的操作。

基于binlog的主从同步

1.主库配置

复制代码
[root@Master ~]# yum install -y mysql-server
 

[root@Master ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=1     
[root@Master ~]# systemctl restart mysqld
 
#授权用户
mysql> create user rep@'192.168.1.%' identified with mysql_native_password by '123456';
mysql> grant replication slave on *.* to rep@'192.168.1.%';
mysql> show master status;  //查看主服务器状态

从库配置

复制代码
#配置文件
[root@Slave1 ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=2
[root@Slave1 ~]# systemctl restart mysqld
 
[root@Slave3 ~]# vim /etc/my.cnf.d/mysql-server.cnf
server_id=3
[root@Slave3 ~]# systemctl restart mysqld
 
#设置参数,两个从库一样的配置
mysql> change master to
    -> master_host='192.168.1.11',
    -> master_user='rep',
    -> master_password='123456',
    -> master_log_file='binlog.000001',
    -> master_log_pos=1640,
    -> get_master_public_key=1;
 
#启动复制进程,两个都启动
mysql> start slave;

验证

复制代码
#在主库创建一个数据库,看从库是否同步生成
mysql> create database test;
mysql> use test;
mysql> create table td1(id int(10),name varchar(20));
mysql> insert into td1 values (1,'张三'),(2,'李遂');

从库中

相关推荐
Flying pigs~~9 小时前
RAG智慧问答项目
数据库·人工智能·缓存·微调·知识库·rag
misL NITL9 小时前
mysql之如何获知版本
数据库·mysql
许彰午10 小时前
CacheSQL(二):主从复制——OpLog 环形缓冲区与故障自动恢复
java·数据库·缓存
2401_8323655210 小时前
JavaScript中rest参数(...args)取代arguments的优势
jvm·数据库·python
2301_7796224111 小时前
Go语言怎么用信号量控制并发_Go语言semaphore信号量教程【入门】
jvm·数据库·python
2301_7662834411 小时前
c++如何将控制台输出保存到文件_cout重定向到txt【详解】
jvm·数据库·python
北极的冰箱11 小时前
MySQL Ver 8.0.41 for macos14.7密码遗忘
数据库·mysql
XDH_CS12 小时前
MySQL 8.0 安装与 MySQL Workbench 使用全流程(超详细教程)
开发语言·数据库·mysql
秋912 小时前
MySQL 8.0.46 全平台安装与配置详解(Windows/Linux/macOS)
linux·windows·mysql
treacle田12 小时前
达梦数据库-统计信息收集-记录
数据库·达梦数据库统计信息收集