mysql主主备份:

保证各服务器上的数据库中的数据一致,因此需要开启数据库同步机制。由于是一整套系统,并且系统内含数据库。由于任何一台服务器都有可能被选中,因此要让所有的数据库上的数据都是最新的,任何一个服务器上的数据发生变化时都要自动的同步到其他的服务器上。

三维可视化管理系统使用的时Mysql数据库,这里采用的时主-主备份机制进行同步的。

主一数据库:192.168.10.7

主二数据库:192.168.10.212

主数据库1:

编辑数据库配置文件

3DDataCenter\64\mysql\my.ini
# 开启二进制同步
log-bin=mysql-bin # 设置ID,不能重复,可以使用IP最后一位数字 
server-id=129 # 需要同步的数据名称,多个数据库则要重复设置: bin-do-db,bin-ignore-db为互斥关系, 只需设置其中一项即可
replicate-do-db=itv # 自增长字段初始值为1
auto-increment-offset=2 # 自增长字段增量值
auto-increment-increment=2 # 跳过所有复制的错误
slave-skip-errors=all

主数据库2:

编辑数据库

3DDataCenter\64\mysql\my.ini
# 开启二进制同步
log-bin=mysql-bin # 设置ID,不能重复,可以使用IP最后一位数字 
server-id=128 # 需要同步的数据名称,多个数据库则要重复设置: bin-do-db,bin-ignore-db为互斥关系, 只需设置其中一项即可
replicate-do-db=itv # 自增长字段初始值为1
auto-increment-offset=1 # 自增长字段增量值
auto-increment-increment=2 # 跳过所有复制的错误
slave-skip-errors=all

配置完成后如果项目已经启动则需要重启,若没有启动项目此时启动项目

创建mysql复制账户:

在主一数据库操作:

为主二的所在的ip创建一个账号密码为root1,这样就能够允许远程访问本机数据库了

在 3DDataCenter\64\mysql\bin 地址栏上面输入cmd

登录mysql:

mysql -uroot -p -P3333   //登录mysql
use mysql;
grant replication slave on *.* to root1@'192.168.10.212' identified by 'root1';

赋予权限:如果就这样连接的话虽然能访问但还是看不了数据的,所以需要赋予root1权限

GRANT ALL PRIVILEGES ON *.* TO 'root1'@'192.168.10.212' IDENTIFIED BY 'root1' WITH GRANT OPTION;

立即生效:

flush privileges;

在主二数据库操作:

为主二的所在的ip创建一个账号密码为root1,这样就能够允许远程访问本机数据库了

在 3DDataCenter\64\mysql\bin 地址栏上面输入cmd

登录mysql:

mysql -uroot -p -P3333   //登录mysql
use mysql;

grant replication slave on *.* to root1@'192.168.10.7' identified by 'root1';
GRANT ALL PRIVILEGES ON *.* TO 'root1'@'192.168.10.7' IDENTIFIED BY 'root1' WITH GRANT OPTION;

立即生效:

flush privileges;

测试能否访问:

在主一登录主二的数据库:

mysql -h192.168.10.212 -uroot1 -p -P3333   //登录主二的数据库

继续连接,发现可以连接成功,并且可以查看数据

show databases;  //查看数据库

同理,在主二的数据库可以访问主一的数据库看下:

mysql -h192.168.10.7 -uroot1 -p  -P3333   //登录主一的数据库

show databases;  //查看数据库

互告bin-log信息

登录本地的mysql

主主同步还有主从同步都是基于binlog的原理进行,相当于我们打开了这个开关,每次操作数据库都会产生一个binlog日志,然后把binlog日志进行发给对方进行执行,这样数据就保持同步了

首先进入MySQL命令行:

在主数据库1下操作:

查看日志: show master status;

设置同步:

change master to master_host = '192.168.10.212',master_user='root1',master_password='root1',master_port=3333,master_log_file='mysql-bin.000001',master_log_pos=47007;

备注: master_log_file与File值一致, master_log_pos与Position值一致

开始同步: start slave;

查看同步情况:

show slave status\G;

当看到了两个yes,即:Slave_IO_Running: Yes

Slave_SQL_Running: Yes

如果是两个yes就说明已经成功

出现报错的情况

说明已经配置成功了,但是这里有一个显示为no,明显有问题

解决办法:

stop slave;
reset slave;
start slave;

然后我们继续查看同步情况;

show slave status\G;

发现还是报错,只是报错的内容不一样

继续输入

reset master;
show master status\G;

stop slave;   //这里可能需要等待一会儿

change master to master_host = '192.168.10.212',master_user='root1',master_password='root1',master_port=3333,master_log_file='mysql-bin.000001',master_log_pos=106;

start slave;

show slave status\G;

支持主数据库一完成

在主数据库2下操作:

这里其实跟上面的主数库1是一样的操作

show master status;

change master to master_host = '192.168.10.212',master_user='root1',master_password='root1',master_port=3333,master_log_file='mysql-bin.000001',master_log_pos=695;

备注: master_log_file与File值一致, master_log_pos与Position值一致

开始同步:

  start slave;

查看同步情况:

 show slave status\G;

如果碰到问题可以根据上面的出现报错的情况处理

测试:在浏览器打开两个页面,我们修改其中一个数据

我们访问192.168.10.7

这是修改前:

我们修改一个数据看另外的一个项目数据会不会改变

我们看下另外一个地址

同步成功

windows下mysql的数据主主同步的更多相关文章

  1. coreseek实战(二):windows下mysql数据源部分配置说明

    coreseek实战(二):windows下mysql数据源部分配置说明 关于coreseek在windows使用mysql数据源的配置,以及中文分词的详细说明,请参考官方文档: mysql数据源配置 ...

  2. windows下mysql配置

    windows下mysql配置   忙活了大半天,总算配置好了,本文献给windows下没试用过Mysql的小白,勿喷 http://blog.csdn.net/z1074907546/article ...

  3. Windows下MySQL配置及安全加固总结

    Windows下MySQL配置及安全加固总结 在网管的实际使用过程中,MySQL数据库在安装后的配置及安全加固内容,在客户中逐渐要求越来越高.从反馈的问题看,一般都是由第三方软件公司的软件扫描整个系统 ...

  4. windows下mysql和linux下mysql主从配置

    1. linux下mysql安装版本5.6   windows下mysql版本5.7  不要问我为什么版本不一致  就是想这么搞 2. linux为主服务器   windows为从服务器 3.找到li ...

  5. Windows 下目录及文件向Linux同步

    本文解决的是Windows 下目录及文件向Linux同步的问题,Windows向 Windows同步的请参考:http://www.idcfree.com/article-852-1.html 环境介 ...

  6. Windows下MYSQL自动备份批处理

    windows下MYSQL自动备份批处理 2011-05-04 09:16:45|  分类: mysql|举报|字号 订阅     按系统时间进行备份 注意mysql安装路径中如果有空格.就要把,.b ...

  7. Windows 下 MySql 5.7.20安装及data和my.ini文件的配置(转)

    Windows 下 MySql 5.7.20安装及data和my.ini文件的配置     本文通过图文并茂的形式给大家介绍了MySql 5.7.20安装及data和my.ini文件的配置方法. my ...

  8. (转)Windows下MySQL :GUI安装和使用(MySQL GUI tools)

    原文:http://blog.csdn.net/dahunbi/article/details/52970815 MySQL GUI Tools是MySQL官方提供的图形化管理工具,功能很强大,值得推 ...

  9. Windows 下MySQL zip 安装

    主要步骤: 1.下载解压到安装的文件夹 2.配置环境路径 3.配置my.ini文件,设置程序路径和数据存储路径 4.以管理员身份启动Mysqld install(提示sevice安装成功) 5.启动M ...

随机推荐

  1. fiddler5+雷电模拟器4.0对app抓包设置

    这次项目刚好需要对微信小程序进行抓包分析,二话不说拿起手机咔咔一顿连接,发现在备用机苹果上抓包正常,但主的安卓机上证书怎么装都失败,原来安卓7版本以后对用户自行安装的证书不再信任,所以无法抓包. 因为 ...

  2. ESP8266 使用 DRV8833驱动板驱动N20电机

    RT 手里这块ESP8266是涂鸦的板子,咸鱼上三块一个买了一堆,看ESP8266-12F引脚都差不多的.裸焊了个最小系统,加两个按钮(一个烧录,一个复位) 1. 准备工作 搜索过程中发现 DRV88 ...

  3. php rand()和mt_ran(),还有随机数生成器

    PHP 的 rand() 函数默认使用 libc 随机数发生器.mt_rand() 函数是非正式用来替换它的.该函数用了 Mersenne Twister 中已知的特性作为随机数发生器,它可以产生随机 ...

  4. Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg

    numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...

  5. WPF 截图控件之画笔(八)「仿微信」

    前言 接着上周写的截图控件继续更新添加 画笔. 1.WPF实现截屏「仿微信」 2.WPF 实现截屏控件之移动(二)「仿微信」 3.WPF 截图控件之伸缩(三) 「仿微信」 4.WPF 截图控件之绘制方 ...

  6. 一文带你了解webrtc基本原理(动手实现1v1视频通话)

    webrtc (Web Real-Time Communications) 是一个实时通讯技术,也是实时音视频技术的标准和框架. 大白话讲,webrtc是一个集大成的实时音视频技术集,包含了各种客户端 ...

  7. Python基础之dict和set的使用

    dict Python内置了字典:dict的支持,dict全称dictionary,在其他语言种也称为map,使用键-值(key-value)存储,具有极快的查找速度. 举个例子,假设要根据同学的名字 ...

  8. 从零开始Blazor Server(10)--编辑角色

    例图 目前的样式是这样的: 其中角色在一个table里,然后可以增删改查,并且可以给指定的用户分配权限. 创建文件 首先我们在Pages/Admin目录下新建一个Role.razor.因为我们的Adm ...

  9. Luogu[YNOI2019]排序(DP,线段树)

    要最优?就要一步到位,不能做"马后炮",走"回头路",因此将序列映射到一个假定最优序列,发现移动原序列等价于删除原序列元素,以便生成最大不下降子序列.可线段树维 ...

  10. feign远程调用出错

    如果你传递的参数,比较复杂时,默认会采用POST的请求方式. 传递单个参数时,推荐使用@PathVariable,如果传递的单个参数比较多,这里也可以采用@RequestParam,Feign接口中不 ...