侯体宗的博客
  • 首页
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

Windows mysql 双向同步设置方法 详细篇

Windows  /  管理员 发布于 5年前   250

1.1         环境搭建

准备两台Windows NT 主机,分别安装好iKEY Server windows 版本,确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主、备机器,假设A为主机,B为备机,假设A主机IP地址为:192.168.1.101,B主机IP地址为192.168.1.102

1.2         创建同步帐户

分别在A、B节点上登陆mysql 数据库,创建同步帐户并赋予同步权限,如下:

A节点操作:

运行cmd, cd进入iKEY版本安装目录下的iKEY\mysql\bin下,然后执行mysql Curoot Cp123456 登陆mysql数据库执行:

mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j1] "@"192.168.1.10[j2] 2" IDENTIFIED BY 'ym[j3] ';

mysql>flush privileges;

B节点操作步骤如上,权限赋予如下:

mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j4] "@"192.168.1.10[j5] 1" IDENTIFIED BY 'ym[j6] ';

mysql>flush privileges;

执行以上操作后,运行net stop mysql, 分别停止两节点数据库.

1.3         配置数据同步选项

1.3.1    A主机操作

安装好的iKEY Server windows 版本后,会在安装目录下的iKEY\mysql\backup文件夹下生成一个my_master.cnf配置文件,在A主机上将my_master.cnf 文件复制到安装目录下的iKEY\mysql\bin文件夹下,并重命名为my.cnf,重命名之前请先备份原有my.cnf文件,以下介绍my.cnf做的修改之处:

log-bin=mysql-bin #同步事件的日志记录文件

binlog-do-db=ikey_db #提供数据同步服务的数据库日志

binlog-do-db=ikey_log #提供数据同步服务的数据库日志

server-id=1
master-host=192.168.1.102  #
主机B的IP地址
master-user=ym  #
同步帐户
master-password=ym  #
同步帐户密码
master-port=3306  #
端口,主机的MYSQL端口
master-connect-retry=60  #
重试间隔60秒
replicate-do-db=ikey_db  #
同步的数据库

replicate-do-db=ikey_log  #同步的数据库

1.3.2    B主机操作

安装好的iKEY Server windows 版本后,会在安装目录下的iKEY\mysql\backup文件夹下生成一个my_slave.cnf配置文件,在B备机上将my_slave.cnf 文件复制到安装目录下的iKEY\mysql\bin文件夹下,并重命名为my.cnf,重命名之前请先备份原有my.cnf文件,修改之处同A主机,不同配置在于以下:

server-id=2
master-host=192.168.1.101  #
主机A的地址

以上需要注意的地方是,要定义master-host的主机IP地址,请根据实际情况进行修改。

请确保以上同步用户、主机IP、和同步帐户密码与所设配置相同.

1.3.3    验证数据同步

当以上配置完毕后,分别重新启动主机A和备机B数据库,运行net start mysql,

查看同步配置情况,登陆mysql 数据库。

在A节点上查看Master 信息:

mysql> show master status;

+------------------+----------+------------------+------------------+

| File             | Position | Binlog_Do_DB     | Binlog_Ignore_DB |

+------------------+----------+------------------+------------------+

| mysql-bin.000001 |       98 | ikey_db,ikey_log |                  |

+------------------+----------+------------------+------------------+

1 row in set (0.00 sec)

在B节点上查看Slave信息:

mysql> show slave status\G;

*************************** 1. row ***************************

             Slave_IO_State: Waiting for master to send event

                Master_Host: 192.168.1.101

                Master_User: ym

                Master_Port: 3306

              Connect_Retry: 60

            Master_Log_File: mysql-bin.000001

        Read_Master_Log_Pos: 98

             Relay_Log_File: testBBB-relay-bin.000002

              Relay_Log_Pos: 235

      Relay_Master_Log_File: mysql-bin.000001

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

            Replicate_Do_DB: ikey_db,ikey_log

通过在B节点上查看同步状态,我们可以清楚的看到所设置的同步配置信息以及当前同步状态。

同样可以在B节点上查看master 信息以及在A节点上查看slave 信息。

添加数据在A主机上,同时测试B备机上数据是否同步,以及反向测试。

 

1.4         同步维护

当需要更改节点IP 时,Mysql 同步配置也需要进行相应修改,在更改节点IP之前,我们先做如下操作:

分别在A、B节点上执行mysql> stop slave; 停止当前同步状态。

假如此时A 节点IP 改为192.168.1.103,需要做如下操作:

1.4.1  A节点:

mysql> show master status;

+------------------+----------+------------------+------------------+

| File             | Position | Binlog_Do_DB     | Binlog_Ignore_DB |

+------------------+----------+------------------+------------------+

| mysql-bin.000002 |       118 | ikey_db,ikey_log |                  |

+------------------+----------+------------------+------------------+

1 row in set (0.00 sec)

1.4.2  B节点:

更改B--àA方向同步的帐户权限

mysql>show grants for [email protected](原A节点IP);

查看到原赋予从192.168.1.101 连接的权限,此时我们删除此同步帐户,并重新赋予192.168.1.103 连接的权限,如下:

mysql>drop user [email protected];

mysql>flush privileges;

mysql>grant replication slave on *.* to [email protected] identified by 'ym';

mysql>flush privileges;

然后修改A-àB方向同步配置项:

mysql>CHANGE MASTER TO

    -> MASTER_HOST='192.168.1.103',   # Master服务器地址

    -> MASTER_USER='ym',

    ->MASTER_PASSWORD='ym',    -> ->MASTER_LOG_FILE='mysql-bin.000002',  # 刚才我们记录A节点数据库要执行复制的日志文件。

    -> MASTER_LOG_POS=118;   #刚才记录的A节点数据库要复制的日志文件位置。

Query OK, 0 rows affected (0.02 sec)

同时需要查看此时B节点的Master信息,同步LOG日志及POS位置

mysql> show master status;

+------------------+----------+------------------+------------------+

| File             | Position | Binlog_Do_DB     | Binlog_Ignore_DB |

+------------------+----------+------------------+------------------+

| mysql-bin.000003 |       98 | ikey_db,ikey_log |                  |

+------------------+----------+------------------+------------------+

1 row in set (0.00 sec)

 

同时请修改B节点mysql主配置文件中

master-host=192.168.1.103  #主机A的IP地址

1.4.3  接着A节点:

修改B-àA方向同步配置项:

mysql>CHANGE MASTER TO

->MASTER_LOG_FILE='mysql-bin.000003',  # 刚才我们记录B节点数据库要执行复制的日志文件。

    -> MASTER_LOG_POS=98;   #刚才记录的B节点数据库要复制的日志文件位置。

Query OK, 0 rows affected (0.02 sec)

 

然后针对A、B节点启动同步状态,分别运行start slave; 然后查看同步状态,确保在每台机器上查看show slave status;得出

           Slave_IO_Running: Yes

          Slave_SQL_Running: Yes

即处于正常同步状态。

 

以上是针对单节点IP修改所做的操作,如果A、B节点IP 都需要修改,参考以上配置进行操作,最好先针对单个节点IP 进行修改,并确保单向同步没有问题后,再进行第二个节点IP修改以及配置。


 [j1]执行同步权限的用户

 [j2]主机B的IP地址

 [j3]同步帐户密码

 [j4]执行同步权限的用户

 [j5]主机A的IP地址

 [j6]同步帐户密码


  • 上一条:
    win2003 安装2个mysql实例做主从同步服务配置
    下一条:
    windows环境下mysql数据库的主从同步备份步骤(单向同步)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • Windows 10的告别:2025年10月14日,一段时代的终结(0个评论)
    • windows 11激活_Win11 KMS激活流程步骤(1个评论)
    • 安装Windows 11系统的注意了,看看你的cpu是否在微软兼容列表排除中(1个评论)
    • 微软将于2022年9月20日推送Windows11 22H2新版本,推测2024发布windows 12(0个评论)
    • windows11系统中可以关闭禁止的服务及介绍(1个评论)
    • 近期文章
    • 在windows10中升级go版本至1.24后LiteIDE的Ctrl+左击无法跳转问题解决方案(0个评论)
    • 智能合约Solidity学习CryptoZombie第四课:僵尸作战系统(0个评论)
    • 智能合约Solidity学习CryptoZombie第三课:组建僵尸军队(高级Solidity理论)(0个评论)
    • 智能合约Solidity学习CryptoZombie第二课:让你的僵尸猎食(0个评论)
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(95个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2018-01
    • 2018-06
    • 2020-06
    • 2021-06
    • 2021-07
    • 2022-01
    • 2022-04
    • 2022-08
    • 2023-08
    • 2023-10
    • 2024-04
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客