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

devtools/2025/2/13 15:19:46/

 MySQL主从复制原理:MySQL主从复制是一种常用的数据同步技术,它通过将一个MySQL数据库服务器(主服务器)的数据实时复制到一个或多个从服务器,从而实现数据的备份、读写分离以及高可用性等目标.

基于binlog的主从同步

#主服务器配置
[root@localhost ~]# cat /etc/my.cnf | grep server_id
server_id=1mysql> create user rep@'192.168.238.%' identified with mysql_native_password by 'MySQL@123';
Query OK, 0 rows affected (0.00 sec)mysql> grant replication slave on *.* to rep@'192.168.238.%';
Query OK, 0 rows affected (0.00 sec)mysql> show master status;
+---------------+----------+--------------+------------------+-------------------+
| File          | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+---------------+----------+--------------+------------------+-------------------+
| binlog.000001 |     1002 |              |                  |                   |
+---------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)
#两台从服务器配置
[root@localhost ~]# cat /etc/my.cnf | grep server_id
server_id=2
#[root@localhost ~]# cat /etc/my.cnf | grep server_id
#server_id=3mysql> change master to-> master_host='192.168.238.135',-> master_user='rep',-> master_password='MySQL@123',-> master_log_file='binlog.000001',-> master_log_pos=1002;
Query OK, 0 rows affected, 8 warnings (0.01 sec)mysql> start slave;
Query OK, 0 rows affected, 1 warning (0.01 sec)mysql> show slave status \G
*************************** 1. row ***************************Slave_IO_State: Master_Host: 192.168.238.135Master_User: repMaster_Port: 3306Connect_Retry: 60Master_Log_File: binlog.000001Read_Master_Log_Pos: 1002Relay_Log_File: localhost-relay-bin.000001Relay_Log_Pos: 4Relay_Master_Log_File: binlog.000001Slave_IO_Running: YesSlave_SQL_Running: YesReplicate_Do_DB: Replicate_Ignore_DB: Replicate_Do_Table: Replicate_Ignore_Table: Replicate_Wild_Do_Table: Replicate_Wild_Ignore_Table: Last_Errno: 0Last_Error: Skip_Counter: 0Exec_Master_Log_Pos: 1002Relay_Log_Space: 157Until_Condition: NoneUntil_Log_File: Until_Log_Pos: 0Master_SSL_Allowed: NoMaster_SSL_CA_File: Master_SSL_CA_Path: Master_SSL_Cert: Master_SSL_Cipher: Master_SSL_Key: Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: NoLast_IO_Errno: 13117Last_IO_Error: Fatal error: The replica I/O thread stops because source and replica have equal MySQL server ids; these ids must be different for replication to work (or the --replicate-same-server-id option must be used on replica but this does not always make sense; please check the manual before using it).Last_SQL_Errno: 0Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1Master_UUID: Master_Info_File: mysql.slave_master_infoSQL_Delay: 0SQL_Remaining_Delay: NULLSlave_SQL_Running_State: Replica has read all relay log; waiting for more updatesMaster_Retry_Count: 86400Master_Bind: Last_IO_Error_Timestamp: 250211 15:50:38Last_SQL_Error_Timestamp: Master_SSL_Crl: Master_SSL_Crlpath: Retrieved_Gtid_Set: Executed_Gtid_Set: Auto_Position: 0Replicate_Rewrite_DB: Channel_Name: Master_TLS_Version: Master_public_key_path: Get_master_public_key: 0Network_Namespace: 
1 row in set, 1 warning (0.00 sec)
#验证#主服务器创建表
mysql> create database test;
Query OK, 1 row affected (0.01 sec)#从服务器验证
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| KW                 |
| test               |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.01 sec)


http://www.ppmy.cn/devtools/158512.html

相关文章

.net处理dynamic类型运行之后的数据

在 .NET 中,dynamic 类型用于在运行时处理对象,它可以绕过编译时的类型检查,让你在运行时动态地访问对象的成员。当处理 dynamic 类型的 List 数据时,你可以按照以下步骤进行操作。 ### 示例场景 假设你有一个 dynamic 类型的 Li…

LeetCode Hot100(持续更新中)

一、哈希 (一)两数之和 思路一:传统方法-双层循环遍历 时间复杂度:O(n^2) 空间复杂度:O(1) class Solution {public int[] twoSum(int[] nums, int target) {// 两层循环求解 时间复杂度O(N^2) 空间复杂度O(1)int[]…

Flink-DataStream API

一、什么样的数据可以用于流式传输 Flink的DataStream API 允许流式传输他们可以序列化的任何内容。Flink自己的序列化程序用于 基本类型:即字符串、长、整数、布尔值、数组复合类型:元组、POJO和Scala样例类 基本类型我们已经很熟悉了,下…

linux 内核结构基础

linux 内核对象基础 1.linux 的 kobj(struct kobject) 类2.linux 中的 kset3. linux 下的 ktype (kobj_type 类)4. kobj 的使用理解 1.linux 的 kobj(struct kobject) 类 kobj 是 linux 下的高级抽象类定义,用于派生所有其余的类定义,比如设备类定义struct device.…

川翔云电脑是什么?租电脑?

在数字化时代,川翔云电脑借助云计算技术,把用户终端和云端虚拟电脑连接,打破本地硬件的局限,让大家随时随地工作、娱乐。 川翔云电脑的优势 强大硬件配置 川翔云电脑硬件配置处于行业前列,显卡尤为突出。它配备性能…

Kafka 读写示例

一、概述 Kafka 是一款流行的分布式消息队列系统,具有高吞吐量、可扩展性和持久性等优点。本文将介绍如何使用 Kafka 进行消息的生产和消费。 二、Kafka 生产者 1. 生产者配置 以下是一些常用的 Kafka 生产者配置参数: 参数描述bootstrap.serversKafka 集群的地址,用于生…

第二章:13.1 机器学习的迭代发展

目录 机器学习模型开发流程 构建电子邮件垃圾邮件分类器示例 总结 垃圾邮件分类示例 构建垃圾邮件分类器 机器学习模型开发流程 确定系统架构: 首先,需要决定机器学习系统的总体架构,这包括选择合适的模型、确定使用的数据集、可能还包括…

工具-screen-管理终端会话(服务器长时间运行任务)

screen 是一个用于管理多个终端会话的实用工具,常用于在单个终端窗口中运行多个虚拟终端。它允许用户在一个终端窗口中分离和重新连接会话,非常适合在远程服务器上工作或长时间运行任务时使用。 主要功能 1.会话管理: 可以创建多个虚拟终端…