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

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 TOSOURCE_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 TOSOURCE_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.mzph.cn/pingmian/67317.shtml

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

相关文章

基于php求职招聘系统设计

基于php求职招聘系统设计 摘要 随着社会信息化时代的到来,如今人们社会的生活节奏普遍加快,人们对于工作效率的要求也越来越高,企业 举办招聘会耗时耗财,个人参加招聘会漫无目的寻找不到“方向”,网络搜索工作量目的…

SDK调用文心一言如何接入,文心一言API接入教程

一、前期准备 注册百度智能云账号: 前往百度智能云官网注册一个账号。这是接入文心一言API的基础。 了解API接口: 在百度智能云开放平台中,找到文心一言API的详情页,了解提供的API接口类型(如云端API、移动端API、离线…

【机器学习】数据拟合-最小二乘法(Least Squares Method)

最小二乘法(Least Squares Method) 最小二乘法是一种广泛使用的数据拟合方法,用于在统计学和数学中找到最佳拟合曲线或模型,使得观测数据点与模型预测值之间的误差平方和最小化。以下是详细介绍: 基本概念 假设有一组…

Flutter 多终端测试 自定义启动画面​​​​​​​ 更换小图标和应用名称

多终端测试 flutter devices flutter run -d emulator-5554 flutter run -d emulator-5556 自定义启动画面 之前: 进入assert 3x 生成 1x 2x dart run flutter_native_splash:create dart run flutter_native_splash:remove 现在(flutter_nativ…

springMVC实现文件上传

目录 一、创建项目 二、引入依赖 三、web.xml 四、编写上传文件的jsp页面 五、spring-mvc.xml 六、controller 七、运行 一、创建项目 二、引入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.o…

Java内存与缓存

Java内存管理和缓存机制是构建高性能应用程序的关键要素。它们之间既有联系又有区别&#xff0c;理解这两者对于优化Java应用至关重要。 Java 内存模型 Java内存模型&#xff08;JMM&#xff09;定义了线程如何以及何时可以看到其他线程修改过的共享变量的值&#xff0c;并且规…

图片和短信验证码(头条项目-06)

1 图形验证码接口设计 将后端⽣成的图⽚验证码存储在redis数据库2号库。 结构&#xff1a; {img_uuid:0594} 1.1 创建验证码⼦应⽤ $ cd apps $ python ../../manage.py startapp verifications # 注册新应⽤ INSTALLED_APPS [django.contrib.admin,django.contrib.auth,…

云服务信息安全管理体系认证,守护云端安全

在数据驱动的时代&#xff0c;云计算已成为企业业务的超级引擎&#xff0c;推动着企业飞速发展。然而&#xff0c;随着云计算的广泛应用&#xff0c;信息安全问题也日益凸显&#xff0c;如同暗流涌动下的礁石&#xff0c;时刻威胁着企业的航行安全。这时&#xff0c;云服务信息…

LabVIEW与WPS文件格式的兼容性

LabVIEW 本身并不原生支持将文件直接保存为 WPS 格式&#xff08;如 WPS 文档或表格&#xff09;。然而&#xff0c;可以通过几种间接的方式实现这一目标&#xff0c;确保您能将 LabVIEW 中的数据或报告转换为 WPS 可兼容的格式。以下是几种常见的解决方案&#xff1a; ​ 导出…

创建 WordPress 插件(第一部分):添加管理页面

WordPress 是互联网上最受欢迎的内容管理系统之一。它是用 PHP 创建的&#xff0c;可以处理从博客到商业网站的一切需求。事实上&#xff0c;我们的博客和网站都使用 WordPress。在本文中&#xff0c;我将向你展示如何创建一个 WordPress 插件&#xff0c;该插件会在管理员控制…

解锁企业数据管理统一身份认证难题,EasyMR助力企业敏捷提效

在数字经济迅猛发展的当下&#xff0c;企业数据量正以令人惊叹的速度持续增长。据IDC研究显示&#xff0c;至2025年&#xff0c;全球数据总量预计将超175 ZB。数据的爆发式增长对企业而言&#xff0c;既是机遇&#xff0c;更是巨大挑战。 如今&#xff0c;大数据已然成为企业决…

OPT: Open Pre-trained Transformer语言模型

摘要 大规模语言模型通常需要数十万计算日的训练时间&#xff0c;展现了在零样本和小样本学习中的显著能力。鉴于其计算成本之高&#xff0c;这些模型在没有大量资本投入的情况下难以复现。对于那些通过API提供的少数模型&#xff0c;研究者无法获取完整的模型权重&#xff0c…

Qt应用之MDI(多文档设计)

qt creator 版本6.8.0 MinGW 64bit 由此模块可以扩展成设计一个qt文本编辑器。 界面如下 部分功能展示如下 新建文件 打开文件 mdi模式、级联模式和平铺模式 界面和程序构建过程。 1.如图所需.cpp和.h文件 2.mainwindow.ui和tformdoc.ui界面布局如下 不懂什么是Action如何…

Linux第二课:LinuxC高级 学习记录day04

6、shell中的语句 6.3、结构性语句 6.3.1、if if…then…fi 1、结构 1&#xff09;基本结构 if 表达式 then 命令表 fi if [ 表达式 ] // 【】两侧有空格 then 命令表 fi 2&#xff09;分层结构 if 表达式 then 命令表1 else 命令表2 fi 3&#xff09;嵌套结构 if …

Linux C 使用ZBar库解析二维码和条形码

1. 编译zbar库 下载 zbar 库源码&#xff0c;这里需要注意下&#xff0c;如果识别的二维码中有中文的话&#xff0c;会出现乱码&#xff0c;一般二维码里中文为UTF-8编码&#xff0c;zbar会默认给你把UTF-8转换为ISO8859-1。有两种解决办法&#xff0c;一是自己再转换一下编码…

【北京迅为】iTOP-4412全能版使用手册-第七十九章 Qt网络编程

iTOP-4412全能版采用四核Cortex-A9&#xff0c;主频为1.4GHz-1.6GHz&#xff0c;配备S5M8767 电源管理&#xff0c;集成USB HUB,选用高品质板对板连接器稳定可靠&#xff0c;大厂生产&#xff0c;做工精良。接口一应俱全&#xff0c;开发更简单,搭载全网通4G、支持WIFI、蓝牙、…

用python实战excel和word自动化

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 python实现excel和word自动化--批量处理 前言--需求快要期末了需要&#xff0c;提交一个年级的学生成绩数据&#xff0c;也就是几百份。当前我们收集了一份excel表格&#xf…

【R安装】R语言的详细安装及环境配置(2024年11月)

目录 R及Rstudio下载R下载Rstudio下载 R及Rstudio安装R安装Rtools 安装Rstudio安装 运行 RStudio通过RStudio配置使用特定的R版本 参考 R及Rstudio下载 R下载 R官网-The R Project for Statistical Computing 点击【download R】&#xff0c;进入下载界面&#xff1a; 选择…

Docker官网安装

1.官网 官方文档 https://www.docker.com/ Docker Hub官网 镜像 https://hub.docker.com/ 2.Docker 的三要素 1、镜像 2、容器 3、仓库 小总结 3.Docker 平台架构图 &#xff08;架构版本&#xff09; 4.安装Docker CentOS | Docker Docs 1.确定你是CentOS7及以上版本 …

寒假第一次牛客周赛 Round 76回顾

AC数&#xff1a;2&#xff08;A、C&#xff09; B 思路&#xff1a; 等价于求&#xff1a; 数量最多的字符 #include<stdio.h> int main() {int n,num;int a[26]{0};//用于存储字母 a 到 z 的出现次数。scanf("%d",&n);char s[n];scanf("%s",s)…