mysql主主备份:

  1. 保证各服务器上的数据库中的数据一致,因此需要开启数据库同步机制。由于是一整套系统,并且系统内含数据库。由于任何一台服务器都有可能被选中,因此要让所有的数据库上的数据都是最新的,任何一个服务器上的数据发生变化时都要自动的同步到其他的服务器上。
  2. 三维可视化管理系统使用的时Mysql数据库,这里采用的时主-主备份机制进行同步的。

主一数据库:192.168.10.7

主二数据库:192.168.10.212

主数据库1:

编辑数据库配置文件

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

主数据库2:

编辑数据库

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

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

创建mysql复制账户:

在主一数据库操作:

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

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

登录mysql:

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

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

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

立即生效:

  1. flush privileges;

在主二数据库操作:

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

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

登录mysql:

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

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

立即生效:

  1. flush privileges;

测试能否访问:

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

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

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

  1. show databases; //查看数据库

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

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

  1. show databases; //查看数据库

互告bin-log信息

登录本地的mysql

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

首先进入MySQL命令行:

在主数据库1下操作:

查看日志: show master status;

设置同步:

  1. 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;

查看同步情况:

  1. show slave status\G;

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

Slave_SQL_Running: Yes

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

出现报错的情况

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

解决办法:

  1. stop slave;
  1. reset slave;
  1. start slave;

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

  1. show slave status\G;

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

继续输入

  1. reset master;
  1. show master status\G;

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

  1. 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;

  1. start slave;

  1. show slave status\G;

支持主数据库一完成

在主数据库2下操作:

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

  1. show master status;

  1. 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值一致

开始同步:

  1. start slave;

查看同步情况:

  1. 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. 基于EasyExcel的大数据量导入并去重

    源码:https://gitee.com/antia11/excel-data-import-demo 背景:客户需要每周会将上传一个 Excel 数据文件,数据量单次为 20W 以上,作为其他模块和 ...

  2. python 参数类型理解

    简介 大家都知道,在java中,函数或者方法的参数在调用时必须对其进行传参操作,也就是所谓的必选参数,也可以称为位置参数,除此之外,python还拥有其他语言不具有的一些参数类型,以下将进行一一介绍. ...

  3. 面试突击73:IoC 和 DI 有什么区别?

    IoC 和 DI 都是 Spring 框架中的重要概念,就像玫瑰花与爱情一样,IoC 和 DI 通常情况下也是成对出现的.那 IoC 和 DI 什么关系和区别呢?接下来,我们一起来看. 1.IoC 介 ...

  4. Luogu2986 [USACO10MAR]伟大的奶牛聚集 (树形DP)

    有点权的重心,拆掉点dfs不就是了吗 //#include <iostream> #include <cstdio> #include <cstring> //#i ...

  5. Luogu2869 [USACO07DEC]美食的食草动物Gourmet Grazers (贪心,二分,数据结构优化)

    贪心 考场上因无优化与卡常T掉的\(n \log(n)\) //#include <iostream> #include <cstdio> #include <cstri ...

  6. .NET 7 发布的最后一个预览版Preview 7, 下个月发布RC

    微软在2022年8月9日 发布了.NET 7 Preview 7[1],这是它在11月10日 RTM 之前进入发布候选阶段之前的最后预览版. 预览版 7 已在 Visual Studio 17.4 预 ...

  7. 高效简单的.Net数据库“访问+操作”技术

    本文技术源自外企,并已在多个世界500强大型项目开发中运用. 本文适合有初步C#.Linq.Sql知识的同学阅读. 相关技术在IDataAccess接口中提供. IDataAccess所在的命名空间是 ...

  8. nmtui 字符界面图形模式配置

    一.通过nmtui配置网络参数 Linux系统配置网络参数的方式有很多种,其中最简单最直接的方式就是直接修改网卡配置文件,但这种方式也很容易出错,比如说IPADDR.NETMASK.GATEWAY等参 ...

  9. ceph 009 管理定义crushmap 故障域

    管理和自定义crushmap 定义pg到osd的映射关系 通过crush算法使三副本映射到理想的主机或者机架 更改故障域提高可靠性 pg到osd映射由crush实现 下载时需要将对象从osd搜索到,组 ...

  10. Vue3 发生错误:setup function returned a promise

    当你组件中有 Promise 对象时,即 Axios.Ajax 这类的请求,然后把数据渲染到模板中就会报如下图的错误: 在这个异步组件外包裹一个 <Suspense> 组件.比如 App. ...