windows下 MySQL数据库双向同步 配置步骤
最近在项目中遇到了要实现服务器上MySql数据双向同步,在网上找了很多资料,但是大部分都是在liux系统下配置的,
而且都是互相转载,没有一个详细的步骤,于是决定写一个windows系统下的完整配置,与大家分享,如有不足之处,
请大家指正。
工具/原料
两台服务器,操作系统均为window2012 数据中心版,其中一台服务器为A,IP地址为:192.168.1.2,另外一台为B,IP地址为:192.168.1.3
mysql 的版本最好保持一致,大版本号一定要一致,小更新不影响,比如5.6.10,5.6.11这两个版本就算一致,如果一个是5.5,一个是5.6就不行
方法/步骤
添加同步账户。向两台服务器上的mysql添加账户,进入Mysql命令界面,输入密码进入。
如下图:执行Mysql命令,mysql> grant replication slave,replication client on *.* to repl@'192.168.1.%' identified by '123456';
说明:repl是账户名称,123456是对应的密码,192.168.1.%是局域网内可访问,也可指定某一台服务器,把%换成对应的IP即可。注:以上命令在A、B服务器上都要执行。


配置A服务器。
找到mysql的配置文件my.ini,在[mysqld]下面添加以下配置:
log_bin=mysql-bin #说明:log_bin:指定二进制日志文件的位置和命名
server_id=1 #server_id:MySql服务器标示,必须保证唯一
replicate_do_db=ftest #replicate_do_db:要同步的数据库名称,多个用逗号隔开,此项可不配置
sync_binlog=1 #sync_binlog:是否将二进制日志文件同步到磁盘上,大于0为开户
log_slave_updates=1 #将事件自动写到填制日志中注
注:保存文件后,要重新启动MySql服务,然后同样的操作在B服务器上操作一遍。(此处要注意server_id绝对不能相同,如果相同就会出错)



两台服务器配置完成以后,先在B服务器上开启复制功能。这一步不需要修改my.ini文件,只需要执行mysql命令,以下是命令:
mysql> change master to master_host='192.168.1.2',
-> master_user='repl',
-> master_password='123456',
-> master_log_file='mysql-bin.000001',
-> master_log_pos=0;
说明:master_host:A服务器的IP地址
master_user:我们在第一步创建的同步账号
master_password:对应的账号密码
master_log_file:二进制日志文件名称,不一定是这个名称,可以用命令来查看
用 show master status\g;来查询名称和pos
master_log_pos:用上面的命令可以查出来此值

开启复制功能
用 show slave status\g; 来检查复制是否已经正常运行,若Slave_IO_State为空,Slave_IO_Running、Slave_IO_Running为NO,
则复制功能未运行,我们用 start slave;来启动 复制功能。
再用命令 show slave status\g; 查看,这时我们看到Slave_IO_State为:Waiting for master to send eventSlave_IO_Running、
Slave_SQL_Running为YES,表明配置已经成功,复制功能已经正常运行。然后配置A服务器,步骤和配置B服务器一样。
注:一定要小心配置里面的参数,要把对应的master_host、master_log_file、master_log_pos配置正确



测试数据是否同步成功,在A服务器上修改ftest数据库的一个表数据,然后在B服务器上查看,数据是否变化了呢,如果变化了,
说明已经配置成功。然后修改B服务器的数据,再去A服务器上查看,如果数据也变化了,双向同步 的数据同步功能就成功了.
windows下 MySQL数据库双向同步 配置步骤的更多相关文章
- Linux下MySQL数据库主从同步配置
说明: 操作系统:CentOS 5.x 64位 MySQL数据库版本:mysql-5.5.35 MySQL主服务器:192.168.21.128 MySQL从服务器:192.168.21.129 准备 ...
- windows下mysql 8.0.12安装步骤及基本使用教程
本文实例为大家分享了windows下mysql 8.0.12安装步骤及使用教程,供大家参考,具体内容如下 补充:mysql 已经更新到了 8.0.19,大致步骤和这个差不多,照着来就完事了. 我下载的 ...
- windows下mysql中文乱码, 配置解决方法
内容源自:windows下mysql中文乱码, 配置解决方法 解决方法:打开mysql安装目录,打开my.ini文件(如果只有my-default.ini文件,先将其改名为my.ini!!!) 修改内 ...
- windows下mysql数据库表名大小写不敏感
最近新入职,领导让做个小功能先练练手.是一个添加分类的功能,有添加和列表,很简单.功能做完后提交,结果在线上出现一个大大的500. 但是我再本地环境下是正常的,我以为可能是php的版本不一致导致的问题 ...
- MySQL 数据库双向同步复制
MySQL 复制问题的最后一篇,关于双向同步复制架构设计的一些设计要点与制约. 问题和制约 数据库的双主双写并双向同步场景,主要考虑数据完整性.一致性和避免冲突.对于同一个库,同一张表,同一个记录中的 ...
- MySQL数据库的同步配置+MySql读写分离
使用mysql主从复制的好处有: 1.采用主从服务器这种架构,稳定性得以提升.如果主服务器发生故障,我们可以使用从服务器来提供服务. 2.在主从服务器上分开处理用户的请求,可以提升数据处理效率. 3. ...
- Windows下MySQL下载安装、配置与使用
用过MySQL之后,不论容量的话,发现比其他两个(sql server .oracle)好用的多,一下子就喜欢上了.下面给那些还不知道怎么弄的童鞋们写下具体的方法步骤. (我这个写得有点太详细了,甚至 ...
- Windows下MySQL绿色版安装配置与使用
Mysql-5.7.11-winx64操作步骤: 一.安装MySQL数据库 1.下载. 下载地址: http://downloads.mysql.com/archives/get/file/mysql ...
- Docker Mysql数据库主从同步配置方法
一.背景 最近在做内部平台架构上的部署调整,顺便玩了一下数据库的主从同步,特此记录一下操作- 二.具体操作 1.先建立数据存放目录(-/test/mysql_test/) --mysql --mast ...
随机推荐
- [PHP] java读取PHP接口数据
和安卓是一个道理,读取json数据 PHP文件: <?php class Test{ //日志路径 const LOG_PATH="E:\phpServer\Apache\logs\\ ...
- 通过OpenSSL来生成二进制格式证书文件(pfx和cer)
1.生成RSA字符串私钥 genrsa -out private-rsa.key 2.由1中私钥导出*.cer二进制公钥文件 req -new -x509 -key private-rsa.key - ...
- linux backlog深入剖析以及netty设置backlog
netty不同于socket,其上次API没有提供设置backlog的选项,而是依赖于操作系统的somaxconn和tcp_max_syn_backlog,对于不同OS或版本,该值不同,建议根据实际并 ...
- 从网络中获取图片显示到Image控件并保存到磁盘
一.从网络中获取图片信息: /// <summary> /// 获取图片 /// </summary> /// <param name="url"&g ...
- SharePoint 2013 手动删除爬网项目
本文介绍如何手动删除某些搜索项目,其实删除搜索项目并不常用,主要还是在刚刚完成爬网,就删除了某些项目,然后有比较敏感需要马上删除的时候.下面,就跟着图文简单了解下手动删除已爬网的项目吧. 1.配置好搜 ...
- 换SSD硬盘,重装系统,一阵子忙乱
许久没重装过系统了,低声下气地问老板要了一块SSD硬盘,不马上安装上手痒得难受,但年底这个时候重装系统绝对忙乱,差点耽误了一份申请表和一份培训记录表. SSD安装:先从网上找相关贴子,最主要的一个 ...
- Android源码分析之MessageQueue
下面让我们花些时间来看看MessageQueue的具体实现,不过在分析代码之前让我们来理解下在类开头的一大段comments. MessageQueue是比较低层的类,是持有Message(在Loop ...
- Android源码分析之Looper
先来说说summary,Looper就是用来在某个线程中跑一个message loop.一个线程默认是没有message loop与之相关联的, 为了创建一个你必须在这个线程中调用Looper.pre ...
- iOS 学习 - 1.代理传值
代理的目的是改变或传递控制链.允许一个类在某些特定时刻通知到其他类,而不需要获取到那些类的指针.可以减少框架复杂度. 另外一点,代理可以理解为java中的回调监听机制的一种类似 优点:1.避免子类化带 ...
- Android bitmap高效显示和优化
第一部分:Bitmap高效显示 应用场景:有时候我们想在界面上显示一个网络图片或者显示一张本地的图片,但是图片本身是很大的有几兆,但是显示的位置很小或者说我们可以用更小的图片来满足这样的需求,如果把整 ...