博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
windows下mysql 主主同步
阅读量:4182 次
发布时间:2019-05-26

本文共 2763 字,大约阅读时间需要 9 分钟。

一、登录mysql,分别给两个服务器的用户赋予权限(两个互为主从数据库)

1.1、从数据库

grant replication slave on *.* to 'root'@'172.18.9.166' identified by '113506';	flush privileges;

1.2、主数据库

grant replication slave on *.* to 'root'@'172.18.9.199' identified by '113506';	flush privileges;

二、【主数据库下操作】

1.1 配置ini文件

[mysql]# 设置mysql客户端默认字符集#default-character-set=utf8 default-character-set=utf8mb4 [mysqld]#主主同步配置#服务器idserver-id=1#待同步的数据库binlog_do_db=springbootdemo#基础配置max_allowed_packet=500Mwait_timeout=288000interactive_timeout = 288000log_bin=mysql-bin#设置3306端口port=3306 # 设置mysql的安装目录basedir=D:\mysql-5.6.26-winx64# 设置mysql数据库的数据的存放目录datadir=D:\mysql-5.6.26-winx64\data# 允许最大连接数max_connections=500# 服务端使用的字符集默认为8比特编码的latin1字符集#character-set-server=utf8character-set-server=utf8mb4# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB[client]port=3306default-character-set=utf8#default-character-set=utf8mb4

1.2、测试连接从数据库(如果出现"Welcome to the MySQL monitor. "等字样,则表示能登录成功):

mysql -u root -p  -h 172.18.9.166

1.3、重启mysql服务,把File 和 Position 的值记录下来;

show master status;

二、【从数据库上操作】

2.1、配置ini文件

[mysql]# 设置mysql客户端默认字符集default-character-set=utf8 [mysqld]#数据库同步#服务器idserver-id=2#待同步的数据库binlog_do_db=springbootdemo#基础配置max_allowed_packet=500Mwait_timeout=288000interactive_timeout = 288000log_bin=mysql-bin#设置3306端口port=3306 # 设置mysql的安装目录basedir=E:\mysql-5.6.24-win32# 设置mysql数据库的数据的存放目录datadir=E:\mysql-5.6.24-win32\data# 允许最大连接数max_connections=500# 服务端使用的字符集默认为8比特编码的latin1字符集character-set-server=utf8# 创建新表时将使用的默认存储引擎default-storage-engine=INNODB [client]port=3306default-character-set=utf8

 

2.2、测试连接主数据库(如果出现"Welcome to the MySQL monitor. "等字样,则表示能登录成功):

mysql -u root -p 113506 -h 172.18.9.166

2.3、重启mysql服务,把File 和 Position 的值记录下来;

 

 

三、修改对主从数据库的连接的参数

3.1、主数据库配置

change master to master_host='172.18.9.199',master_user='root',master_password='113506', master_log_file='mysql-bin.000001',master_log_pos=120;start slave;

 

 

3.2、从数据库配置

change master to master_host='172.18.9.166',master_user='root',master_password='113506', master_log_file='mysql-bin.000177',master_log_pos=120;start slave;

3.3、查看状态:

 

四、运行程序测试。

4.1、主服务器运行代码

@Test    public void insert(){       Emp emp = new Emp();       emp.setId(UUIDUtils.getUUID());       emp.setName("admin");       //emp.setPassword("1");       emp.setCreateTime(LocalDateTime.now());       empMapper.insert(emp);       System.out.println("emp = " + emp);   }

结果:两个数据库都增加了

 

4.2、从服务器运行代码:

@Test    public void insertSelective(){        Emp emp = new Emp();        emp.setId(UUIDUtils.getUUID());        emp.setName("admin2018-12-25");        emp.setCreateTime(LocalDateTime.now());        empMapper.insertSelective(emp);        System.out.println("emp = " + emp);    }

运行结果:

 

OK!


取消同步:

stop slave;reset slave;

 

主从同步的话,不需要相互配置主从关系。只需配置一端为主一端为从。主数据库写数据,从数据库可以同步。但是从数据库写数据,主数据库不能同步数据。

转载地址:http://qygai.baihongyu.com/

你可能感兴趣的文章
Linux平台下ARM-Linux交叉编译工具链
查看>>
Window平台下ADS自带ARMCC编译工具链
查看>>
micro2440/tiny6410使用JLINK直接烧录nand flash
查看>>
C编译器、连接器与可执行机器码文件
查看>>
android linker 浅析
查看>>
802.11 traffic id
查看>>
Android系统wifi分析-手动连接过程
查看>>
设置IP别名Shell脚本
查看>>
Source Insight 宏-单行注释
查看>>
levelDB源码分析-Arena
查看>>
levelDB源码分析-SSTable
查看>>
平滑升级Nginx的Shell脚本
查看>>
SSH远程会话管理工具
查看>>
canvas标签设长宽是在css中还是在标签中
查看>>
如何创建一个vue项目
查看>>
webpack和webpack-simple中如何引入css文件
查看>>
vue1.0和vue2.0的区别之路由
查看>>
关于vue-router2.0的学习笔记
查看>>
vue1.0与2.0区别之生命周期
查看>>
vue2.0之非父子组件通信
查看>>