详解windows下mysql的主从同步

发布时间 - 2026-01-10 21:58:10    点击率:

半路出家到Java,刚开始听说到说程序支持读写分离感觉特别高大上,也一直没接触

偶然的机会接触到了,就一定得记下来。

今天先讲讲数据库的主从同步,两个好处:

  • 是读写分离可以用上。比如 写操作就写到主数据库,读就从从数据库读取
  • 是纯粹给数据库备份,以防硬盘彻底崩了

主从数据库操作准备:

两台电脑,都安装好mysql 5.5及以上版本,最好两台电脑都安装同一版本数据库,且能单独正常使用

记住两台电脑的ip地址:

以我家里电脑为例: 主数据库:192.168.0.102   从数据库:192.168.0.104

【主数据库下操作】

步骤一:

在主数据库mysql安装目录下找到my.ini文件打开,在mysqld下添加主服务器配置

server-id=1 #服务器 id 
log-bin=C:\Program Files\MySQL\MySQL Server 5.5\mysql-bin #二进制文件存放路径
binlog-do-db=test1 #待同步的数据库

保存并重启mysql服务后你可以在C:\Program Files\MySQL\MySQL Server 5.5 下看到mysql-bin.index 文件和mysql-bin.000001文件

输入用户名和密码:mysql -u用户名 -p密码 (    mysql -uroot -proot   )

步骤二,

给要连接的从服务器设置权限:grant replication slave,reload,super on *.* to slave@192.168.0.104 identified by 'root';   

ps: 给主机192.168.0.104添加权限,用户名:slave,密码:root;(只需输入一次就可以了)

步骤三,

输入命令 show master status;       # 找到File 和 Position 的值记录下来;

【从数据库上操作】

步骤四:

在mysql下找到my.ini文件,在其[mysqld] 下添加从服务器端配置:

server-id=2 #服务器 id ,不能和主服务器一致
replicate-do-db=test1 #待同步的数据库

保存并重启mysql服务

步骤五:

从服务器上测试:mysql -u slave -p root -h 192.168.0.102,查看能否连接主数据库成功,

然后输入exi退出mysql命令行或者关闭该cmd窗口新开一个cmd

步骤六:

修改对主数据库的连接的参数:mysql>change master to master_host='192.168.0.104',master_user='slave',master_password='root', master_log_file='mysql-bin.000001',master_log_pos=107;(这里输入的mysql-bin.000001和107请替换为步骤三中查询出来的值 否则不会同步的) 

ps:可能会报一个错误,大概的意思是说slave线程正在运行,不能设置,这样的话,执行mysql>stop slave; 停止slave线程,然后再设置连接的参数;

步骤七:

设置完之后,执行 mysql> start slave; 开启slave线程;执行mysql> show slave status\G   (没有分号),查看

Slave_IO_Running: Yes
Slave_SQL_Running: Yes

这是详细的步骤,如果不成功 请联系我帮你解决,按照这个步骤 只要两个电脑网络互通,应该不会有问题的

不过需要注意的是:

如果对从数据库进行修改,是不会同步对主数据库进行修改的,这样就应该用主-主同步了,方法类似,

所以insert,delete update 都应该是对主数据库的操作, 而select操作则对从表进行操作

具体程序中怎么实现读写分离,后续我将以具体demo形式呈现出来

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!


# windows  # mysql  # 主从同步  # MySQL 主从同步  # 事务回滚的实现原理  # MySQL数据库主从同步实战过程详解  # MySQL主从同步中的server-id示例详解  # Centos7系统下Mysql主从同步配置方案  # MySQL主从同步延迟的原因及解决办法  # MySQL主从同步机制与同步延时问题追查过程  # MySQL数据库的主从同步配置与读写分离  # Mysql主从同步Last_IO_Errno:1236错误解决方法  # Mysql主从同步的实现原理  # 详解Mysql主从同步配置实战  # 详解MySQL数据库设置主从同步的方法  # Mysql数据库的主从同步配置  # 两台电脑  # 会报  # 重启  # 的是  # 这是  # 半路出家  # 会有  # 你可以  # 只需  # 说到  # 请联系  # 然后再  # 是说  # 新开  # 刚开始  # 为例  # 正常使用  # 将以  # 写到  # 输入用户名 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: EditPlus中的正则表达式实战(5)  油猴 教程,油猴搜脚本为什么会网页无法显示?  Laravel如何与Pusher实现实时通信?(WebSocket示例)  教你用AI润色文章,让你的文字表达更专业  Laravel怎么实现微信登录_Laravel Socialite第三方登录集成  黑客如何利用漏洞与弱口令入侵网站服务器?  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  lovemo网页版地址 lovemo官网手机登录  java ZXing生成二维码及条码实例分享  如何快速启动建站代理加盟业务?  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  Laravel PHP版本要求一览_Laravel各版本环境要求对照  大同网页,大同瑞慈医院官网?  PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)  Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  制作电商网页,电商供应链怎么做?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  如何获取上海专业网站定制建站电话?  谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复  手机怎么制作网站教程步骤,手机怎么做自己的网页链接?  Laravel DB事务怎么使用_Laravel数据库事务回滚操作  Laravel Docker环境搭建教程_Laravel Sail使用指南  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  iOS正则表达式验证手机号、邮箱、身份证号等  Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】  Laravel如何实现文件上传和存储?(本地与S3配置)  Python进程池调度策略_任务分发说明【指导】  Laravel如何使用Livewire构建动态组件?(入门代码)  Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】  深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何快速重置建站主机并恢复默认配置?  高端建站三要素:定制模板、企业官网与响应式设计优化  如何在万网ECS上快速搭建专属网站?  如何用ChatGPT准备面试 模拟面试问答与职场话术练习教程  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  php打包exe后无法访问网络共享_共享权限设置方法【教程】  活动邀请函制作网站有哪些,活动邀请函文案?  微信推文制作网站有哪些,怎么做微信推文,急?  如何在橙子建站中快速调整背景颜色?  Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】  Laravel请求验证怎么写_Laravel Validator自定义表单验证规则教程  阿里云高弹*务器配置方案|支持分布式架构与多节点部署  JavaScript常见的五种数组去重的方式  Laravel如何使用Collections进行数据处理?(实用方法示例)  如何快速搭建高效简练网站?  EditPlus中的正则表达式 实战(2)