Mysql学习Windows mysql 双向同步设置方法 详细篇
《Mysql学习Windows mysql 双向同步设置方法 详细篇》要点: 1.1???????? 环境搭建MYSQL入门准备两台Windows NT 主机,分别安装好iKEY Server windows 版本,确定版本无误,确保mysql服务正常启动,确保两台主机处于同一个局域网中,确定好哪台做为主、备机器,假设A为主机,B为备机,假设A主机IP地址为:192.168.1.101,B主机IP地址为192.168.1.102 1.2???????? 创建同步帐户MYSQL入门分别在A、B节点上登陆mysql 数据库,创建同步帐户并赋予同步权限,如下: MYSQL入门A节点操作: MYSQL入门运行cmd,cd进入iKEY版本安装目录下的iKEYmysqlbin下,然后执行mysql Curoot Cp123456 登陆mysql数据库执行: MYSQL入门mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j1]?"@"192.168.1.10[j2]?2" IDENTIFIED BY 'ym[j3]?'; MYSQL入门mysql>flush privileges; MYSQL入门B节点操作步骤如上,权限赋予如下: MYSQL入门mysql>GRANT REPLICATION SLAVE ON *.* TO "yw[j4]?"@"192.168.1.10[j5]?1" IDENTIFIED BY 'ym[j6]?'; MYSQL入门mysql>flush privileges; MYSQL入门执行以上操作后,运行net stop mysql,分别停止两节点数据库. 1.3???????? 配置数据同步选项1.3.1??? A主机操作MYSQL入门安装好的iKEY Server windows 版本后,会在安装目录下的iKEYmysqlbackup文件夹下生成一个my_master.cnf配置文件,在A主机上将my_master.cnf 文件复制到安装目录下的iKEYmysqlbin文件夹下,并重命名为my.cnf,重命名之前请先备份原有my.cnf文件,以下介绍my.cnf做的修改之处: MYSQL入门log-bin=mysql-bin #同步事件的日志记录文件 MYSQL入门binlog-do-db=ikey_db #提供数据同步服务的数据库日志 MYSQL入门binlog-do-db=ikey_log #提供数据同步服务的数据库日志 MYSQL入门server-id=1 MYSQL入门replicate-do-db=ikey_log ?#同步的数据库 1.3.2??? B主机操作MYSQL入门安装好的iKEY Server windows 版本后,会在安装目录下的iKEYmysqlbackup文件夹下生成一个my_slave.cnf配置文件,在B备机上将my_slave.cnf 文件复制到安装目录下的iKEYmysqlbin文件夹下,修改之处同A主机,不同配置在于以下: MYSQL入门server-id=2 MYSQL入门以上必要注意的地方是,要定义master-host的主机IP地址,请根据实际情况进行修改. MYSQL入门请确保以上同步用户、主机IP、和同步帐户暗码与所设配置相同. 1.3.3??? 验证数据同步MYSQL入门当以上配置完毕后,分别重新启动主机A和备机B数据库,运行net start mysql, MYSQL入门查看同步配置情况,登陆mysql 数据库. MYSQL入门在A节点上查看Master 信息: MYSQL入门mysql> show master status; MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| File???????????? | Position | Binlog_Do_DB???? | Binlog_Ignore_DB | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| mysql-bin.000001 |?????? 98 | ikey_db,ikey_log |????????????????? | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门1 row in set (0.00 sec) MYSQL入门在B节点上查看Slave信息: MYSQL入门mysql> show slave statusG; MYSQL入门*************************** 1. row *************************** MYSQL入门???????????? Slave_IO_State: Waiting for master to send event MYSQL入门??????????????? Master_Host: 192.168.1.101 MYSQL入门??????????????? Master_User: ym MYSQL入门??????????????? Master_Port: 3306 MYSQL入门????????????? Connect_Retry: 60 MYSQL入门?????????? ?Master_Log_File: mysql-bin.000001 MYSQL入门??????? Read_Master_Log_Pos: 98 MYSQL入门???????????? Relay_Log_File: testBBB-relay-bin.000002 MYSQL入门????????????? Relay_Log_Pos: 235 MYSQL入门????? Relay_Master_Log_File: mysql-bin.000001 MYSQL入门?????????? Slave_IO_Running: Yes MYSQL入门????????? Slave_SQL_Running: Yes MYSQL入门??????????? Replicate_Do_DB: ikey_db,ikey_log MYSQL入门通过在B节点上查看同步状态,我们可以清楚的看到所设置的同步配置信息以及当前同步状态. MYSQL入门同样可以在B节点上查看master 信息以及在A节点上查看slave 信息. MYSQL入门添加数据在A主机上,同时测试B备机上数据是否同步,以及反向测试. MYSQL入门? 1.4???????? 同步维护MYSQL入门当必要更改节点IP 时,Mysql 同步配置也必要进行相应修改,在更改节点IP之前,我们先做如下操作: MYSQL入门分别在A、B节点上执行mysql> stop slave; 停止当前同步状态. MYSQL入门假如此时A 节点IP 改为192.168.1.103,必要做如下操作: 1.4.1? A节点:MYSQL入门mysql> show master status; MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| File???????????? | Position | Binlog_Do_DB???? | Binlog_Ignore_DB | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| mysql-bin.000002 |?????? 118 | ikey_db,ikey_log |????????????????? | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门1 row in set (0.00 sec) 1.4.2? B节点:MYSQL入门更改B--àA方向同步的帐户权限 MYSQL入门mysql>show grants for ym@192.168.1.101(原A节点IP); MYSQL入门查看到原赋予从192.168.1.101 连接的权限,此时我们删除此同步帐户,并重新赋予192.168.1.103 连接的权限,如下: MYSQL入门mysql>drop user ym@192.168.1.101; MYSQL入门mysql>flush privileges; MYSQL入门mysql>grant replication slave on *.* to ym@192.168.1.103 identified by 'ym'; MYSQL入门mysql>flush privileges; MYSQL入门然后修改A-àB方向同步配置项: MYSQL入门mysql>CHANGE MASTER TO MYSQL入门??? -> MASTER_HOST='192.168.1.103',?? # Master服务器地址 MYSQL入门??? -> MASTER_USER='ym', MYSQL入门??? ->MASTER_PASSWORD='ym',??? -> ->MASTER_LOG_FILE='mysql-bin.000002',? # 刚才我们记录A节点数据库要执行复制的日志文件. MYSQL入门??? -> MASTER_LOG_POS=118;?? #刚才记录的A节点数据库要复制的日志文件位置. MYSQL入门Query OK,0 rows affected (0.02 sec) MYSQL入门同时必要查看此时B节点的Master信息,同步LOG日志及POS位置 MYSQL入门mysql> show master status; MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| File???????????? | Position | Binlog_Do_DB???? | Binlog_Ignore_DB | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门| mysql-bin.000003 |?????? 98 | ikey_db,ikey_log |????????????????? | MYSQL入门+------------------+----------+------------------+------------------+ MYSQL入门1 row in set (0.00 sec) MYSQL入门? MYSQL入门同时请修改B节点mysql主配置文件中 MYSQL入门master-host=192.168.1.103 ?#主机A的IP地址 1.4.3? 接着A节点:MYSQL入门修改B-àA方向同步配置项: MYSQL入门mysql>CHANGE MASTER TO MYSQL入门->MASTER_LOG_FILE='mysql-bin.000003',? # 刚才我们记录B节点数据库要执行复制的日志文件. MYSQL入门??? -> MASTER_LOG_POS=98;?? #刚才记录的B节点数据库要复制的日志文件位置. MYSQL入门Query OK,0 rows affected (0.02 sec) MYSQL入门? MYSQL入门然后针对A、B节点启动同步状态,分别运行start slave; 然后查看同步状态,确保在每台机器上查看show slave status;得出 MYSQL入门?????????? Slave_IO_Running: Yes MYSQL入门????????? Slave_SQL_Running: Yes MYSQL入门即处于正常同步状态. MYSQL入门? MYSQL入门以上是针对单节点IP修改所做的操作,如果A、B节点IP 都必要修改,参考以上配置进行操作,最好先针对单个节点IP 进行修改,并确保单向同步没有问题后,再进行第二个节点IP修改以及配置. 《Mysql学习Windows mysql 双向同步设置方法 详细篇》是否对您有启发,欢迎查看更多与《Mysql学习Windows mysql 双向同步设置方法 详细篇》相关教程,学精学透。编程之家PHP学院为您提供精彩教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |