栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

window环境实现主从复制

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

window环境实现主从复制

myslave是用户名,myslave密码是用户对应的密码,localhost也可以写ip一、概述

        

mysql主(称master)从(称为slave)复制的原理:

  1. master将数据的改变记录到二进制文件(binary log)中,也就是配置文件中log-bin指定的文件(这些记录叫做二进制日志文件事件,binary log events)
  2. slave通过I/O线程(发请求给master获取master中数据)将master的binary log的读取到它的中继日志(Relay log)
  3. slave通过SQL线程(对Relay log进行监听)将Relay log 中的进行解析(将relay log中的内容解析成mater中执行过的Query)重做
 二、环境配置

首先安装多一个mysql服务器,最后不要复制原有的数据库,可能会再后续配置主从时候,service-id会出问题,具体其他操作可以参考

可参考:在同一个window环境下安装多个MySQL服务 - 千手修罗-锦 - 博客园

三、进行master关键配置
  1. 开启binlog日志

       查看log_bin的状态,Value为OFF代表没有开启,在主mysql的my.ini中进下图下图的配置后,再重新开启mysql服务,重新执行查看log_bin状态语句,若Value为ON,代表开启成功。

#=========主从复制关键配置=====================
#主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定
server_id=1
#log-bin=mysql-bin #二进制文件存放路径,存放在根目录data

#Binary Loggin  开启binlog
#log-bin=mysql-bin    此时日志文件将在mysql 中的data文件夹下生成
log-bin=D:Mysql-binlogmysql-bin  注意路径文件开头必须要大写
binlog-format=Row

#需要复制的库,多个库用逗号隔开,如果此项不配置所有主库都参与复制
binlog-do-db=test 
#binlog-ignore-db=mysql #不需要复制的库,和上项同理
#=========主从复制关键配置=====================

        2.在主库中创建一个用给 从库进行IO连接

        grant replication slave,reload,super on *.* to myslave @localhost identified by 'myslave密码';

        myslave是用户名,myslave密码是用户对应的密码,localhost也可以写ip  

       刷新一下权限 flush privileges;

        3.查看binlog的位置

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

四、进行slave配置

       1.在my.ini中配置进行server_id配置

port = 3307

#=========主从复制关键配置=====================
#主库和从库需要不一致,配一个唯一的ID编号,1至32。 手动设定
server_id=2

        2.重启slave的mysql服务,并使用登陆root

        需要注意是是:在window的cmd中登陆mysql默认是3306,所以要是多个mysql服务时候加端口进行登陆

      

         3.连接master服务器

change master to master_host=’127.0.0.1’,master_user=’myslave’,master_password=’myslave’, master_log_file=’mysql-bin.000002’,master_log_pos=423;

         master_host= 这里填你主库的IP

         master_user=’myslave’                        在主库创建用于主从连接的用户

         master_password='myslave密码'        用户密码

          (在主库里面 show master status得到的值了)

         master_log_file=’mysql-bin.000012’    主库中是二进制binlog文件名称

         master_log_pos=2030                         文件位置                   
    

        4.启动slave

        start slave;(停止是stop slave)

        5.查看slave状态

        show slave statusG

        若Slave_IO_Running:Yes 以及Slave_SQL_Running:Yes 代表成功,若不成功往下查看错误日志再进行相应处理。

 五、结语

        一般来说,若进行主从处理,在业务上都是先将主库中的库和数据进行打包sql文件然后在从库中创建库再运行.sql文件,以后的数据操作才开始进行复制。

        linux上进行主从配置可以参考:mysql 主从复制 有数据库_Mysql数据库主从复制配置_宜家宜室的博客-CSDN博客

        

        

       

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/342060.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号