Windows 上的 MySQL 8.4.3 和 WSL(Ubuntu)的 MySQL 8.0.40 之间配置 主从同步

news2025/1/20 8:23:03

Windows 上的 MySQL 8.4.3WSL(Ubuntu)的 MySQL 8.0.40 之间配置 主从同步(Master-Slave Replication) 的过程略有不同,因为两者的 MySQL 版本和环境存在差异。以下是详细步骤,帮助你完成跨平台的主从复制配置。


📝 前提条件

  1. 主服务器(Master):Windows 上的 MySQL 8.4.3
  2. 从服务器(Slave):WSL Ubuntu 上的 MySQL 8.0.40
  3. 确保主从服务器之间网络可以互相访问。

🚀 步骤 1:在主服务器(Windows MySQL 8.4.3)上配置

📌 1. 修改 MySQL 配置文件

  1. 打开 my.ini 文件,路径通常为:

    C:\ProgramData\MySQL\MySQL Server 8.4\my.ini
    
  2. 添加或修改以下配置:

    [mysqld]
    server-id=1
    log-bin=mysql-bin
    binlog-format=row
    
    • server-id=1:主服务器的唯一标识。
    • log-bin=mysql-bin:启用二进制日志。
    • binlog-format=row:推荐的二进制日志格式。
  3. 保存配置文件后,重启 MySQL 服务:

    net stop mysql
    net start mysql
    

📌 2. 创建复制用户

在主服务器上,登录 MySQL 并创建一个用于复制的用户:

CREATE USER 'replica_user'@'%' IDENTIFIED BY 'your_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica_user'@'%';
FLUSH PRIVILEGES;

📌 3. 获取二进制日志信息

运行以下命令,获取主服务器的二进制日志文件名和位置:

SHOW BINARY LOG STATUS;

示例输出:

+------------------+----------+
| Log_name         | Position |
+------------------+----------+
| mysql-bin.000001 | 154      |
+------------------+----------+

记下 Log_namePosition 的值。


🚀 步骤 2:在从服务器(WSL MySQL 8.0.40)上配置

📌 1. 修改 MySQL 配置文件

  1. 在 WSL Ubuntu 中,编辑 my.cnf 文件:

    sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
    
  2. 添加或修改以下配置:

    [mysqld]
    server-id=2
    relay-log=relay-log
    
    • server-id=2:从服务器的唯一标识。
    • relay-log=relay-log:启用中继日志。
  3. 保存并退出,然后重启 MySQL 服务:

    sudo systemctl restart mysql
    

📌 2. 配置主从同步

登录从服务器的 MySQL:

mysql -u root -p

执行以下命令,设置主服务器的信息:

CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='your_master_ip',
  SOURCE_USER='replica_user',
  SOURCE_PASSWORD='your_password',
  SOURCE_LOG_FILE='mysql-bin.000001',
  SOURCE_LOG_POS=154;
  • your_master_ip:主服务器的 IP 地址(Windows 的本地 IP 地址)。
  • replica_useryour_password:主服务器上创建的复制用户和密码。
  • mysql-bin.000001:主服务器的二进制日志文件名。
  • 154:主服务器的二进制日志位置。

📌 3. 启动从服务器的复制

在从服务器上执行以下命令:

START REPLICA;

🚀 步骤 3:验证主从同步状态

📌 在从服务器上检查复制状态

在从服务器上执行:

SHOW REPLICA STATUS\G;

检查以下关键字段:

字段说明
Replica_IO_Running应为 Yes
Replica_SQL_Running应为 Yes
Last_Error应为空

如果 Replica_IO_RunningReplica_SQL_Running 都是 Yes,说明主从复制已正常运行。


步骤 4:测试主从同步

📌 在主服务器上创建一个测试数据库

在主服务器上执行:

CREATE DATABASE test_db;

📌 在从服务器上验证

在从服务器上执行:

SHOW DATABASES;

如果你在从服务器上看到了 test_db,说明主从复制已成功。


🛠 常见问题排查

问题解决方法
无法连接主服务器确保主服务器的防火墙允许从服务器的 IP 访问 MySQL 端口
Replica_IO_Running: No确认主服务器的 IP 地址和用户权限设置正确
从服务器显示错误日志检查 SHOW REPLICA STATUS\GLast_Error 字段

🔧 防火墙配置(Windows)

如果 Windows 防火墙阻止了 WSL 的访问,需要允许 MySQL 3306 端口的入站流量:

New-NetFirewallRule -DisplayName "Allow MySQL 3306" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow

🎯 总结

主服务器从服务器
Windows MySQL 8.4.3WSL MySQL 8.0.40
server-id=1server-id=2
SHOW BINARY LOG STATUS;SHOW REPLICA STATUS\G;
使用 CHANGE REPLICATION SOURCE TO 替代旧的 CHANGE MASTER TO 命令
#主库
SHOW BINARY LOG STATUS;


CREATE USER 'root'@'%' IDENTIFIED BY 'root';
GRANT REPLICATION SLAVE ON *.* TO 'root'@'%';

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
FLUSH PRIVILEGES;

SHOW PLUGINS;


#从库
SELECT VERSION();


CHANGE REPLICATION SOURCE TO
  SOURCE_HOST='192.168.110.206',
  SOURCE_USER='root',
  SOURCE_PASSWORD='root',
  SOURCE_LOG_FILE='KONG-bin.000016',
  SOURCE_LOG_POS=15597;

#启动io
START REPLICA;
#查看状态
SHOW REPLICA STATUS;

#停止io
STOP REPLICA IO_THREAD;

select * from s_sys_user;

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

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

相关文章

NPC与AI深度融合结合雷鸟X3Pro AR智能眼镜:引领游戏行业沉浸式与增强现实新纪元的畅想

if… NPC(非玩家角色)与AI(人工智能)的深度融合,正引领游戏行业迈向一个全新的沉浸式与增强现实(AR)相结合的新时代。这一创新不仅预示着游戏体验的质变,更可能全面革新游戏设计与叙…

Redis系列之底层数据结构字典Dict

Redis系列之底层数据结构字典Dict Dict数据结构 Dict是Redis数据结构中使用最为频繁的复合型数据结构,本质上是一个哈希表 查看redis6.0版本的源码,链接:https://github.com/redis/redis/blob/6.0/src/dict.h 哈希表的结构定义&#xff1…

前端【3】--CSS布局,CSS实现横向布局,盒子模型

盒子分类 1、块级盒子 2、内联级盒子 3、内联块级盒子 4、弹性盒子 5、盒子内部分区 方法一:使用 float 普通盒子实现横向布局 方法二:使用 display: inline-block 内联块级元素实现横向布局 方法三:使用弹性盒子 flexbox&#xff0…

Go Map 源码分析(一)

Go语言中的map是通过哈希表实现的,其底层结构和实现机制如下: 一、hash 结构 hmap结构体:是map的头部结构,主要字段及含义如下: count:表示当前哈希表中的元素数量,与len()函数相对应。flags…

【大数据2025】Yarn 总结

分布式资源管理系统讲解总结 一、引言 围绕分布式资源管理系统展开,重点涵盖 Yarn 的简介、原理、资源调度策略以及运维和管理,旨在让学员全面掌握相关知识。Yet Another Resource Negotiator 二、Yarn 诞生背景 在 Hadoop 1.X 中仅有 HDFS 和 MapRe…

【AI日记】25.01.19

【AI论文解读】【AI知识点】【AI小项目】【AI战略思考】【AI日记】【读书与思考】 AI kaggle 比赛:Forecasting Sticker Sales 读书 书名:自由宪章阅读原因:作者哈耶克,诺贝尔经济学奖得主,之前读过他的 《通往奴役…

5.最长回文子串--力扣

给你一个字符串 s,找到 s 中最长的 回文子串。 示例 1: 输入:s “babad” 输出:“bab” 解释:“aba” 同样是符合题意的答案。 示例 2: 输入:s “cbbd” 输出:“bb” 原题如上&…

GCPAAS/DashBoard:完全免费的仪表盘设计,基于Vue+ElementUI+G2Plot+Echarts,开源代码,简单易用!还在等什么呢

嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法 GCPAAS/DashBoard,一款基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的仪表盘设计器,具备仪表盘目录管理…

Linux——线程条件变量(同步)

Linux——多线程的控制-CSDN博客 文章目录 目录 文章目录 前言 一、条件变量是什么? 1、死锁的必要条件 1. 互斥条件(Mutual Exclusion) 2. 请求和保持条件(Hold and Wait) 3. 不可剥夺条件(No Preemption&…

“AI 辅助决策系统:决策路上的智慧领航员

在当今瞬息万变的时代,无论是企业的运营管理,还是个人在生活中的重大抉择,都需要精准、高效的决策。然而,信息的繁杂和未来的不确定性,常常让决策变得困难重重。这时,AI 辅助决策系统宛如一位智慧的领航员&…

某讯一面,感觉问Redis的难度不是很大

前不久,有位朋友去某讯面试,他说被问到了很多关于 Redis 的问题,比如为什么用 Redis 作为 MySQL 的缓存?Redis 中大量 key 集中过期怎么办?如何保证缓存和数据库数据的一致性?我将它们整理出来,…

DDD - 微服务落地的技术实践

文章目录 Pre概述如何发挥微服务的优势怎样提供微服务接口原则微服务的拆分与防腐层的设计 去中心化的数据管理数据关联查询的难题Case 1Case 2Case 3 总结 Pre DDD - 软件退化原因及案例分析 DDD - 如何运用 DDD 进行软件设计 DDD - 如何运用 DDD 进行数据库设计 DDD - 服…

闪豆多平台视频批量下载器

1. 视频链接获取与解析 首先,在哔哩哔哩网页中随意点击一个视频,比如你最近迷上了一个UP主的美食制作视频,想要下载下来慢慢学。点击视频后,复制视频页面的链接。复制完成后,不要急着关闭浏览器,因为接下来…

【STM32-学习笔记-14-】FLASH闪存

文章目录 FALSH闪存一、FLASH简介二、FLASH基本结构三、FLASH解锁四、使用指针访问存储器五、FLASH擦除以及编程流程Ⅰ、程序存储器全擦除1. 读取FLASH_CR的LOCK位2. 检查LOCK位是否为13. 设置FLASH_CR的MER 1和STRT 1(如果LOCK位0)4. 检查FLASH_SR的B…

微信消息群发(定时群发)-UI自动化产品(基于.Net平台+C#)

整理 | 小耕家的喵大仙 出品 | CSDN(ID:lichao19897314) 关联源码及工具下载https://download.csdn.net/download/lichao19897314/90096681https://download.csdn.net/download/lichao19897314/90096681https://download.csdn.net/download/…

FPGA产业全景扫描

随着芯片种类日益丰富、功能日益强大,人们不禁好奇:一块FPGA是如何从最初的概念一步步呈现在我们面前的? FPGA设计、FPGA原型验证/仿真、FPGA板级调试和应用,是FPGA从概念到应用的必经之路。本文将围绕这几个核心环节&#xff0c…

SW - 钣金零件保存成DWG时,需要将折弯线去掉

文章目录 SW - 钣金零件保存成DWG时,需要将折弯线去掉概述笔记备注END SW - 钣金零件保存成DWG时,需要将折弯线去掉 概述 如果做需要弯折的切割件,最好做成钣金零件。 最近做了几个小钣金(将钣金展开,建立新草图,在2…

git系列之revert回滚

1. Git 使用cherry-pick“摘樱桃” step 1: 本地切到远程分支,对齐要对齐的base分支,举例子 localmap git pull git reset --hard localmap 对应的commit idstep 2: 执行cherry-pick命令 git cherry-pick abc123这样就会将远程…

Excel重新踩坑6:工作实战总结之根据筛选条件求平均成绩

一、前言: 这个博客的实战场景:给了一组学生数据,这些数据中,有全市20个社区,1-9年级的学生各科成绩。要求按照各社区统计1-9年级的所有学生各科平均值。下面首先介绍会用到的一些函数,然后再简单说明实战…

【数据分析】02- A/B 测试:玩转假设检验、t 检验与卡方检验

一、背景:当“审判”成为科学 1.1 虚拟场景——法庭审判 想象这样一个场景:有一天,你在王国里担任“首席审判官”。你面前站着一位嫌疑人,有人指控他说“偷了国王珍贵的金冠”。但究竟是他干的,还是他是被冤枉的&…