Windows单机模拟MySQL主从复制

这里写自定义目录标题

  • 下载MySQL ZIP压缩包
  • 安装主库
    • 1、创建配置文件
    • 2、安装服务
    • 3、初始化数据库
    • 4、启动服务
    • 5、配置主库
  • 安装从库
    • 1、配置`ini`文件
    • 2、安装服务
    • 3、初始化数据库
    • 4、启动服务
    • 5、配置从库
    • 6、验证从库状态
  • 操作主库验证

下载MySQL ZIP压缩包

https://dev.mysql.com/downloads/mysql/
在这里插入图片描述

安装主库

直接解压就行,我的安装位置是 D:\module\mysql801

1、创建配置文件

在解压根路径创建my.ini配置文件

[mysqld]
port=18001    # 主库端口
basedir=D:\module\mysql801     		# 安装路径
datadir=D:\module\mysql801\data      # 数据文件夹
server-id=1 			# id,与从库不同
log-bin=mysql-bin 		# 开启binlog
binlog_format=ROW 
max_connections=200 
default_authentication_plugin=mysql_native_password 

在这里插入图片描述

2、安装服务

在根目录(my.ini所在的目录)使用管理员权限打开cmd或者powershell

# 注意mysqld是主库安装目录下bin文件里的程序: "D:\module\mysql801\bin\mysqld.exe"
.\bin\mysqld.exe --install MySQL8_Master --defaults-file="D:\module\mysql801\my.ini"

3、初始化数据库

# --initialize-insecure 是不设置root密码,mysql -u root -P 18001 进入MySQL命令行
.\bin\mysqld.exe --initialize-insecure --user=mysql

4、启动服务

net start MySQL8_Master

5、配置主库

-- 创建一个用于从库复制的账户 
CREATE USER 'repl'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%';
FLUSH PRIVILEGES;-- 锁定表并记录binlog位置 ,锁定后主库不可修改数据
FLUSH TABLES WITH READ LOCK;

查看主库binlog信息,从库需要使用

mysql> SHOW MASTER STATUS;+------------------+----------+--------------+------------------+-------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
+------------------+----------+--------------+------------------+-------------------+
| mysql-bin.000002 |      827 |              |                  |                   |
+------------------+----------+--------------+------------------+-------------------+
1 row in set (0.00 sec)

安装从库

我的安装位置是 D:\module\mysql802

1、配置ini文件

在这里插入图片描述
因为在一条电脑上,端口要与主库不同,server-id 与主库不同

[mysqld]
port=18002
basedir=D:\module\mysql802
datadir=D:\module\mysql802\data
server-id=2
relay-log=mysql-relay-bin
read_only=1
skip_slave_start=OFF

2、安装服务

在根目录(my.ini所在的目录)使用管理员权限打开cmd或者powershell

.\bin\mysqld.exe --install MySQL8_Slave --defaults-file="D:\module\mysql802\my.ini"

3、初始化数据库

 .\bin\mysqld.exe --initialize-insecure --user=mysql

4、启动服务

net start MySQL8_Slave 

5、配置从库

登录 MySQL .\bin\mysql.exe -u root -P 18002

-- 连接主库 
mysql> CHANGE MASTER TO-> MASTER_HOST='127.0.0.1',-> MASTER_PORT=18001,-> MASTER_USER='repl',-> MASTER_PASSWORD='123456',-> MASTER_LOG_FILE='mysql-bin.000002',-> MASTER_LOG_POS=827;
Query OK, 0 rows affected, 8 warnings (0.07 sec)

-> MASTER_LOG_FILE=‘mysql-bin.000002’,
-> MASTER_LOG_POS=827;
这两个参数是从主库 SHOW MASTER STATUS 查询到的

6、验证从库状态

SHOW SLAVE STATUS\G -- 注意三个参数:
-- Slave_IO_Running: Yes
-- Slave_SQL_Running: Yes
-- Seconds_Behind_Master: 0

操作主库验证

主库:

-- 先解锁UNLOCK TABLES;-- 创建一个数据库
mysql> create database demo01;
Query OK, 1 row affected (0.01 sec)mysql> 

从库:出现 demo01数据库,配置成功

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| demo01             |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

主库创建表,插入数据:

mysql> use demo01;
Database changed
mysql> show tables;
Empty set (0.01 sec)mysql> create table employee (-> id int primary key auto_increment,-> name varchar(100),-> age int,-> salary decimal(10,2)-> );
Query OK, 0 rows affected (0.02 sec)mysql> insert into employee (name,age,salary) values ('zhangsan',30,5000.00);
Query OK, 1 row affected (0.01 sec)mysql> select * from employee;
+----+----------+------+---------+
| id | name     | age  | salary  |
+----+----------+------+---------+
|  1 | zhangsan |   30 | 5000.00 |
+----+----------+------+---------+
1 row in set (0.00 sec)

查询从库:

mysql> use demo01;
Database changed
mysql> select * from employee;
+----+----------+------+---------+
| id | name     | age  | salary  |
+----+----------+------+---------+
|  1 | zhangsan |   30 | 5000.00 |
+----+----------+------+---------+
1 row in set (0.00 sec)mysql>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/901409.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OSPF路由引入

一、基本概念与作用 1.OSPF路由引入指通过自治系统边界路由器(ASBR)将外部路由(如BGP、RIP、静态路由或其他OSPF进程的路由)注入当前OSPF域,实现跨协议或跨区域的网络互通‌。 其核心作用包括: ‌扩展网…

弱口令爆破

1.简单介绍 弱口令是指一些简单易猜的密码,可通过社工方式和一些爆破工具进行破解,以下介绍一款爆破工具的用法。burpsuite简称BP,一款可以利用字典破解账户密码的工具。 2.部署网站 可以使用PHPstudy的Apache服务,也可以使用I…

Vue3+Vite前端项目部署后部分图片资源无法获取、动态路径图片资源报404错误的原因及解决方案

目录 Vue3vite前端项目部署后部分图片资源无法获取、动态路径图片资源报404错误的原因及解决方案 一、情景介绍 1、问题出现的场景 2、无法加载的图片写法 二、反向代理原理简介 三、造成该现象的原因 四、解决方案 1、放弃动态渲染 2、在页面挂载的时候引入图片资源 …

详解如何从零用 Python复现类似 GPT-4o 的多模态模型

🧠 向所有学习者致敬! “学习不是装满一桶水,而是点燃一把火。” —— 叶芝 我的博客主页: https://lizheng.blog.csdn.net 🌐 欢迎点击加入AI人工智能社区! 🚀 让我们一起努力,共创…

榕壹云无人共享系统:基于SpringBoot+MySQL+UniApp的物联网共享解决方案

无人共享经济下的技术革新 随着无人值守经济模式的快速发展,传统共享设备面临管理成本高、效率低下等问题。榕壹云无人共享系统依托SpringBootMySQLUniApp技术栈,结合物联网与移动互联网技术,为商家提供低成本、高可用的无人化运营解决方案。…

基于PHP的酒店网上订房系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 酒店服务是旅游行业的一个重要组成部分,它的作用已经从过去的单一的住宿、结算帐务向全面、高水平的服务型酒店转变。酒店的服务工作贯穿于整个酒店的市场营销、预定、入住、退房、结账等环节,酒店要提高整体工作水平,简化工作程序&…

【Linux生成SSH秘钥实现远程连接】Linux生成SSH秘钥对与修改服务配置文件实现无密码远程连接

文章目录 前言1. Linux 生成SSH秘钥对2. 修改SSH服务配置文件3. 客户端秘钥文件设置4. 本地SSH私钥连接测试5. Linux安装Cpolar工具6. 配置SSHTCP公网地址7. 远程SSH私钥连接测试8. 固定SSH公网地址9. 固定SSH地址测试 前言 在数字化江湖中,企业对各种技术的需求就…

# linux 设置宽容模式

linux 设置宽容模式 在Linux系统中,通常没有直接称为“宽容模式”的设置选项,但你可以通过几种方式来模拟或调整系统行为,使其表现得更加“宽容”,特别是在处理错误、权限问题或其他潜在问题时。以下是一些常见的方法&#xff1a…

【C++】——lambda表达式

🌟 前言:​​C Lambda表达式,当函数开始"叛逆期"​​ 你是否有过这样的崩溃瞬间? 为了写个​​只用到一次​​的排序规则,被迫定义了一个类在std::for_each里塞函数指针,代码瞬间变成"古董级"写法看着层的循环…

深入解析B站androidApp接口:从bilibili.api.ticket.v1.Ticket/GetTicket到SendMsg的技术分析

前言 最近一段时间,我对B站的App接口进行了深入分析,特别是关注了认证机制和私信功能的实现。通过逆向工程和网络抓包,发现了B站移动端API的底层工作原理,包括设备标识生成机制、认证流程和消息传输协议。本文将分享这些研究成果…

从零开始学A2A一:A2A 协议概述与核心概念

A2A 协议概述与核心概念 学习目标 基础理解 掌握A2A协议的基本概念和背景理解协议的设计原则和核心思想了解协议在AI领域的重要性 技术掌握 熟悉A2A协议的核心功能组件掌握能力发现和任务管理机制理解多模态交互和安全通信原则 实践应用 能够设计基于A2A的智能体系统掌握协议…

2025.04.10-拼多多春招笔试第三题

📌 点击直达笔试专栏 👉《大厂笔试突围》 💻 春秋招笔试突围在线OJ 👉 笔试突围OJ 03. 数字重排最大化问题 问题描述 LYA是一位专业的数字设计师。她手中有两个数字序列 s 1 s_1

苍穹外卖day04

Spring Task实现定时处理订单状态 作用:不需要输入提示信号,便可定时自动执行程序 使用步骤 1、启动类上加上注解(EnableScheduling)开启定时任务调度 2、专门创建一个包来管理执行定时任务的类,该类需要交给IOC容…

BFD:网络链路检测与联动配置全攻略

目录 BFD简介 BFD会话建立方式和检测机制 BFD会话建立过程 BFD工作流程 联动功能 BFD与OSPF联动配置需求 BFD与OSPF联动配置实现 BFD与VRRP联动配置需求 BFD与VRRP联动配置实现 单臂回声 BFD默认参数及调整方法 BFD简介 一种全网统一、检测迅速、监控网络中链…

【LLM】A2A 与 MCP:剖析 AI Agent 互联时代的两种关键协议

随着人工智能技术的飞速发展,AI Agent(智能体)正从理论走向实践,有望成为提升生产力的关键。然而,正如历史上任何新兴技术领域一样,标准的缺失导致了“筒仓效应”——不同来源、不同框架构建的 Agent 难以有…

免费下载 | 2025清华五道口:“十五五”金融规划研究白皮书

《2025清华五道口:“十五五”金融规划研究白皮书》的核心内容主要包括以下几个方面: 一、五年金融规划的重要功能与作用 凝聚共识:五年金融规划是国家金融发展的前瞻性谋划和战略性安排,通过广泛听取社会各界意见,凝…

滚轮控制目标臂长度调整相机距离

通过鼠标滚轮来控制摄像机目标臂长度 , 调整相机距离 看图就行,不多说,照着连就完事了

kernel32!GetQueuedCompletionStatus函数分析之返回值得有效性

第一部分://#define STATUS_SUCCESS 0x0返回值为0 } else { // // Set the completion status, capture the completion // information, deallocate the associated IRP, and // attempt to write the…

UE5 Chaos :渲染网格体 (Render Mesh) 和模拟网格体 是如何关联的?为什么模拟网格体 可以驱动渲染网格体?

官方文献:https://dev.epicgames.com/community/learning/tutorials/pv7x/unreal-engine-panel-cloth-editor 这背后的核心是一种常见的计算机图形学技术,通常称为代理绑定 (Proxy Binding) 或 表面变形传递 (Surface Deformation Transfer)。 关联机制…

老旧测试用例生成平台异步任务与用户通知优化

在现代 Web 开发中,异步任务处理和用户通知是两个重要的功能。由于老旧测试平台【测试用例生成平台,源码分享】进行智能化升级后,未采用异步任务处理,大模型推理时间较长,导致任务阻塞,无法处理其他任务&am…