云原生作业(四)

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

主从复制原理

主从原理:MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。

主从同步的核心原理是将主服务器上的二进制日志复制到从服务器,并在从服务器上执行这些日志中的操作。

工作过程

主服务器:

执行数据操作并将更改记录到二进制日志(binlog)

从服务器

启动 I/O 线程,连接到主服务器并请求二进制日志

主服务器将二进制日志发送到从服务器

从服务器将接收到的日志写入中继日志

SQL 线程从中继日志中读取日志并执行相应的 SQL 语句

配置

192.168.165.128为主,192.168.165.129和192.168.165.131为从

配置主库

复制代码
[root@openEuler ~]# cd /MySQL/
[root@openEuler MySQL]# vim /etc/my.cnf
[mysqld]
server_id=1

[root@openEuler MySQL]# systemctl enable --now mysqld.service

mysql> create user rep@'192.168.165.%' identified with mysql_native_password by 'MySQL@123';
Query OK, 0 rows affected (0.01 sec)

mysql> grant replication slave on *.* to  rep@'192.168.165.%';
Query OK, 0 rows affected (0.01 sec)

配置从库

复制代码
[root@localhost MySQL]# vim /etc/my.cnf

从库1

复制代码
[root@localhost ~]# vim /etc/my.cnf
[mysqld]
server_id=2

从库2

复制代码
[root@localhost-1 ~]# vim /etc/my.cnf
[mysqld]
server_id=3

共同

复制代码
[root@localhost ~]# systemctl enable --now mysqld.service

mysql> change master to
    -> master_host='192.168.165.128',
    -> master_user='rep',
    -> master_password='MySQL@123',
    -> master_log_file='binlog.000001',
    -> master_log_pos=678;
Query OK, 0 rows affected, 8 warnings (0.01 sec)

mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)

             Slave_IO_Running: Yes
            Slave_SQL_Running: Yes

测试

主库中

复制代码
mysql> create database test;
Query OK, 1 row affected (0.00 sec)

mysql> use test;
Database changed
mysql> create table td1(id int(10),name varchar(20));
Query OK, 0 rows affected, 1 warning (0.01 sec)

mysql> insert into td1 values (1,'张三'),(2,'李四');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

mysql> select * from td1;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 张三   |
|    2 | 李四   |
+------+--------+
2 rows in set (0.00 sec)

从库中

复制代码
mysql> select * from td1;
+------+--------+
| id   | name   |
+------+--------+
|    1 | 张三   |
|    2 | 李四   |
+------+--------+
2 rows in set (0.00 sec)
相关推荐
古法老登瞎折腾5 小时前
大数据智能运维实战(十一):运维 MCP 的工程化——权限、限流、审计与错误处理
java·大数据·运维·spring ai·mcp
琥珀.6 小时前
mysql中json数组转列表查询
linux·运维·服务器
dawnsky.liu6 小时前
在 RHEL 中使用 goose 实现远程主机管理
linux·运维·ai
Linux运维技术栈8 小时前
CVE-2026-91403 高危漏洞修复:Rocky Linux 9 多版本 JDK 环境清理实操
java·linux·运维
云边云科技_云网融合9 小时前
连锁门店组网怎么做?SD-WAN 多分支组网的架构选型、部署与成本结构
服务器·数据库·php
云上先途19 小时前
企业 AI 服务部署周期多久,会不会影响原有业务运转?
大数据·运维·人工智能
网络小江9 小时前
组网第35课:静态路由——下一跳、出接口、默认路由、浮动静态与黑洞路由
服务器·网络·默认路由·黑洞路由·浮动静态路由
执伞人ONLY10 小时前
AI知识库自动化知识加工没做对,人工整理永远追不上知识产生
运维·人工智能·自动化
slongzhang_10 小时前
linux 递归删除源码文件|递归删除目录下 *.js,但排除 *.min.js
linux·开发语言·javascript
叼烟扛炮10 小时前
Linux 学习笔记(三十三):线程互斥——互斥锁(Mutex)与死锁
linux·运维·服务器·笔记·学习·1024程序员节