#### 说明

Mysql主主互备即为两个mysql的互为备份机

##### Windows下安装步骤(Linux下步骤类似,基本就是装上mysql,然后修改配置来完成主从的设置)

- step1、下载mysql的zip包(目前测试版本为5.7.28不带debug的包)并解压两次,文件夹改名为master和slave,要安装两台机器或者一台机器用不同的端口装两个实例

- step2、在mster和slave文件夹下新建数据库配置文件my.ini(linux则直接在安装完成后修改my.conf配置文件),配置说明见文末,具体特殊参数设置请自行查询调整设置。

- step3、以管理员身份运行cmd,并cd到master和slave下的bin目录下(windows下切盘只需输入"盘符:"即可)

- step4、都执行安装前初始化命令完成初始化操作 mysqld --initialize --user=mysql --console 执行完成可以看到输出中生成了一个零时密码root@localhost:后端的一串字符,记录下来

- step5、执行服务安装命令 mysqld --install 服务名称(master和slave) --defaults-file="my.ini的全路径" 可看到提示服务安装完成

- step6、启动服务 net start master|slave(刚刚定义的服务名称)

- step7、登录mysql mysql -uroot -p [-P] [-h]密码为安装时生成的零时密码,登录完成后修改mysql密码,set password=password("密码")

- step8、登录数据库后执行show master status;记住File和Position的值

- step9、登录从库(两台互为从库),设置各自的主库 change master to master_host='主库的IP',master_port=主库的端口,master_user='登录主库用户名',master_password='登录主库的密码',master_log_file='主库中的File值',master_log_pos=主库中的Position值;

- step10、启动slave 从库中执行start slave; 可以新建库和表来测试是否已经自动完成同步

##### 备注

参考文档:https://www.cnblogs.com/yeya/p/11878009.html?utm_source=gold_browser_extension

***

#### master1

```

[client]

# 端口号,默认是3306,同一机器下不同的mysql实例端口号不能相同,不同机器可以直接不写即使用3306是端口

port=3307

default-character-set=utf8

[mysqld]

#主库配置(主库配置和备份配置主主时都需要配置,主备时对应配置一项即可)

server_id=1 ###主备的server_id需不同

log_bin=master-bin ###主主备份时必填,slave通过此文件进行同步

log_bin-index=master-bin.index

####master写入二进制配置

###binlog-do-db=test 指定需要写入二进制文件的库

binlog-ignore-db=mysql,information_schema,performance_schema ###指定不写入二进制文件中进行同步的库

auto-increment-increment=2 ###id自增步长

auto-increment-offset=1 ###id自增起始ID

####备份配置

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin ###必填,备份时根据的二进制

log-slave-updates=ON ### 主主时需设置为ON

####slave同步配置

###replicate-do-db=test 指定需要同步的库

replicate-ignore-db=mysql,information_schema,performance_schema ### 备份过滤不同步的库

# 设置为自己MYSQL的安装目录

basedir=E:/software/mysql/master

# 设置为MYSQL的数据目录,data文件夹由mysql自动生成

datadir=E:/software/mysql/master/data

port=3307

character_set_server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER ###sql查询时的参数,也可安装后重新设置

# 开启查询缓存

explicit_defaults_for_timestamp=true

```

***

#### master2

```

[client]

# 端口号,默认是3306,同一个环境下不同的mysql实例端口号不能相同

port=3308

default-character-set=utf8

[mysqld]

#主库配置

server_id=2

log_bin=master-bin

log_bin-index=master-bin.index

####master写入二进制配置

###binlog-do-db=test 指定需要写入二进制文件的库

binlog-ignore-db=mysql,information_schema,performance_schema

auto-increment-increment=2

auto-increment-offset=2

####slave同步配置

###replicate-do-db=test 指定需要同步的库

replicate-ignore-db=mysql,information_schema,performance_schema

###从库配置

relay-log-index=slave-relay-bin.index

relay-log=slave-relay-bin

log-slave-updates=ON

# 设置为自己MYSQL的安装目录

basedir=E:/software/mysql/slave

# 设置为MYSQL的数据目录,data文件夹由mysql自动生成

datadir=E:/software/mysql/slave/data

port=3308

character_set_server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,NO_AUTO_CREATE_USER

# 开启查询缓存

explicit_defaults_for_timestamp=true

```

#### windows下双活方案

- 场景:两台WindowsServer上分别安装了两个mysql数据库(主主互备)

- 说明:在其中一台机器上安装mysql-router,配置destinations(mysql server列表)为两台WindowsServer主机,模式为read-write,即可做到访问mysql-router主机路由到两个mysql上,原则上访问的为第一台mysql,当第一台挂掉可自动切换到第二台上,从而实现双活

- 安装说明:

- step1:当在两台数据库服务器上安装时直接下载windows版本(https://cdn.mysql.com//Downloads/MySQL-Router/mysql-router-8.0.18-winx64.zip),解压到指定安装目录(建议在非C盘下)

- step2:拷贝文末内容(mysqlrouter.conf)到解压目录下,生成配置文件mysqlrouter.conf,根据实际情况调整配置具体路径和数据库服务器的IP及端口

- step3:将mysql-router的bin目录加到系统环境变量或者cmd下切换到mysql-router的bin目录下,然后执行命令“mysqlrouter -c mysqlrouter.conf文件的路径”,即可启动mysql-router

- step4:应用服务(configmap.yaml)的mysql配置只需配置为mysql-router的所在机器的IP及设定的端口即可

- 备注说明:mysql-router的具体安装地址建议直接安装在应用服务器上,可以保证数据库服务器中任意一台挂掉不影响服务

```shell mysqlrouter.conf

[DEFAULT]

# 日志路径

logging_folder=E:\software\mysql-router\log

# 插件路径

plugin_folder=E:\software\mysql-router\lib

# 配置路径

config_folder=E:\software\mysql-router

# 运行时状态路径

#runtime_folder=E:\software\mysql-router\run

# 数据文件路径

data_folder=E:\software\mysql-router\data

[logger]

# 日志级别

level=INFO

# 以下选项可用于路由标识的策略部分

[routing:test]

# Router地址

bind_address=0.0.0.0:3309

# Router端口

#bind_port=3309

# 读写模式

mode=read-write

# 目标服务器

destinations=127.0.0.1:3307,127.0.0.1:3308

```

mysql双活存储容量 TB_Mysql双活方案 - osc_fted3syf的个人空间 - OSCHINA - 中文开源技术交流社区...相关推荐

  1. mysql v8 漏洞_mysql'密码安全 - osc_v8gts6gd的个人空间 - OSCHINA - 中文开源技术交流社区...

    MYSQL数据库的安全配置 MYSQL密码的修改与恢复 MYSQL数据库密码的修改 Mysql5.7以下默认root登录密码为空,安装完成之后首先需要修改root的登录密码. # mysqladm – ...

  2. mysql主从切换机制torch_Mysql主从复制 - osc_y0vjyklt的个人空间 - OSCHINA - 中文开源技术交流社区...

    Mysql主从复制原理 1:主库开始二进制日志(binlog): 2:从库执行change master 执行主库,此时主库会创建一个dump线程,用于向从库发送二进制日志: 3.从库执行 start ...

  3. mysql部署练习_MySQL主从练习 - osc_b9r67jnt的个人空间 - OSCHINA - 中文开源技术交流社区...

    1.按照1核CPU.4G内存.40G硬盘创建两台名为node-1和node-2的云主机. 2.在公有云中完成一个名为intnetX的内部网络为192.168.X.0的云主机网络区域配置,将该网络网关设 ...

  4. MySQL安装2出现Typical_Mysql安装 - osc_c7lpn2ge的个人空间 - OSCHINA - 中文开源技术交流社区...

    以下内容较长,请仔细阅读: 1.首先进入安装界面,按"Next"继续: 2.选择Custom,有Typical(默认).Complete(全装),一般根据选择安装自己的MySQL, ...

  5. mysql里面除号写法_MySQL常见函数 - osc_mgt0rm0m的个人空间 - OSCHINA - 中文开源技术交流社区...

    概念:函数类似于java的方法(将实现某个功能的逻辑语句封装到方法中,对外暴露一个公开的名字,就是方法名). 好处: 1.隐藏类具体功能的实现细节 2.提高代码的重用性 调用: SELECT 函数名( ...

  6. gogs mysql 报错_Gogs服务搭建 - osc_2ltf3y0p的个人空间 - OSCHINA - 中文开源技术交流社区...

    Gogs 安装教程(最简单版) 简介 Gogs 的目标是打造一个最简单.最快速和最轻松的方式搭建自助 Git 服务.使用 Go 语言开发使得 Gogs 能够通过独立的二进制分发,并且支持 Go 语言支 ...

  7. mysql注入总结_mysql注入总结 - osc_wpg0dgym的个人空间 - OSCHINA - 中文开源技术交流社区...

    前言:看玩mysql注入 做一篇总结然后去打GTA 5 正文: mysql注入与access注入不一样.因为数据库的特性不一样 access注入的暴力注入 mysql是有逻辑性的注入 首先得判断是什么 ...

  8. r如何查询mysql中的数据类型_MySQL数据类型 - osc_mgt0rm0m的个人空间 - OSCHINA - 中文开源技术交流社区...

    MySQL 数据类型 MySQL中定义数据字段的类型对你数据库的优化是非常重要的. MySQL支持多种类型,大致可以分为三类:数值.日期/时间和字符串(字符)类型. 数值类型 MySQL支持所有标准S ...

  9. mysql特殊语句_mysql特殊语句 - BENNEE的个人空间 - OSCHINA - 中文开源技术交流社区...

    例子:将cdb_pms表subject字段中的Welcom to替换成 欢迎光临 [code] UPDATE `cdb_pms` SET `subject` = REPLACE(`subject`, ...

最新文章

  1. 定制Eclipse IDE之插件篇(一)
  2. Django 搭建CMDB系统完整[1](用户登录)
  3. 聊聊高并发(二十四)解析java.util.concurrent各个组件(六) 深入理解AQS(四)
  4. 200(强缓存)和304(协商缓存)的区别
  5. python函数与模块学习_Python函数与模块学习1
  6. 师妹问我:有哪些新手程序员不知道的小技巧?
  7. Json-getJSON
  8. 称重管理系统使用说明_车辆智能称重管理系统车牌识别
  9. 【Java】用类描述计算机中CPU的速度和硬盘的容量,要求Java应用程序由4个类,名字分别是PC、CPU、HardDisk、和Test,其中Test是主类。
  10. 2021最新调查报告来了!揭露中国程序员工作和生活真实现状
  11. c++中char的用法详解
  12. minitools在win10上安装失败
  13. 电源设计中最常见的四种滤波电路原理及特点解析
  14. 如何更新R以及RStudio
  15. 数字孪生三维铁路管理系统方案
  16. arduino声音传感器与二极管_怎样使用Arduino构建基于声音传感器的警报
  17. 南阳理工学院计算机学院ACM队成员获奖情况[荣誉记]
  18. 【数论】基础数论概念
  19. skylin TerraExplorer自定义飞行路线如何监听结束事件
  20. 由内建质量到持续集成

热门文章

  1. Python 爬虫-进阶开发之路
  2. springboot mybatis整合
  3. javascript数据结构与算法 --- 高级排序算法
  4. Eclipse+svn+subclipse配置
  5. 选项卡jacascript
  6. ExecuteNonQuery()的返回值
  7. NA/NP/IE最好的模拟器GNS3 part2
  8. 外贸常用术语_外贸常用贸易术语之间,要这么换算……
  9. 拼多多2018校招内推编程-大整数相乘
  10. Taurus入门,这么神奇的性能测试工具不能不知道