Mysql双活方案

#### 说明

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 执行完成可以看到输出中生成了一个零时密码[email protected]:后端的一串字符,记录下来

- 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

```

原文地址:https://www.cnblogs.com/huangxinyuan650/p/12045116.html

时间: 2024-10-14 10:55:34

Mysql双活方案的相关文章

MySQL双活部署方案

Pactera 文思海辉 运维云系统 目录 1.概述5 1.1.本文目的5 2.安装MYSQL5 2.1.下载和安装5 2.2.初始化密码7 2.3.设置root权限7 2.4.网络防火墙配置8 3.部署数据库双活8 3.1.架构配置8 3.2.配置复制账户8 3.3.Master to Slave 配置正向复制9 3.4.Slave to Master 配置反向复制10 3.5.验证复制11 4.部署数据库集群13 4.1.安装keepalived13 4.2.配置Master服务器14 4.

详解MySQL双活同步复制四种解决方案

目录 基于MySQL原生复制主主同步方案 基于Galera replication方案 基于Group Replication方案 基于canal方案 对于数据实时同步,其核心是需要基于日志来实现,是可以实现准实时的数据同步,基于日志实现不会要求数据库本身在设计和实现中带来任何额外的约束. 基于MySQL原生复制主主同步方案  这是常见的方案,一般来说,中小型规模的时候,采用这种架构是最省事的. 两个节点可以采用简单的双主模式,并且使用专线连接,在master_A节点发生故障后,应用连接快速切换

MySql优化方案

mysql优化方案总结 u       Mysql数据库的优化技术 对mysql优化时一个综合性的技术,主要包括 a: 表的设计合理化(符合3NF) b: 添加适当索引(index) [四种: 普通索引.主键索引.唯一索引unique.全文索引] c: 分表技术(水平分割.垂直分割) d: 读写[写: update/delete/add]分离 e: 存储过程 [模块化编程,可以提高速度] f: 对mysql配置优化 [配置最大并发数my.ini, 调整缓存大小 ] g: mysql服务器硬件升级

架构设计:系统存储(11)——MySQL主从方案业务连接透明化(上)

1.MySQL主从方案业务层的问题 在之前的文章中,我们提到MySQL一主多从集群模式下,对上层业务系统的访问带来了一些问题.本编文章中我们将深入分析这个问题,并介绍如何对这个问题进行改进.MySQL一主多从集群对上层业务系统带来的主要问题是,上层业务系统需要自行控制本次MySQL数据操作需要访问MySQL集群中的哪个节点.产生这个问题的主要原因,是因为MySQL一主多从集群本身并没有提供现成功能,将集群中的节点打包成统一服务并向外提供. 在上图所示的MySQL集群中,有一个Master节点负责

Mysql 优化方案

Mysql 优化方案 从开发角度优化mysql,让数据库效率更高.更快. 索引优化 查看mysql状态 通过周期性观察mysql状态优化,更有利于确定mysql性能瓶颈在哪里. 通过 show status 命令观察mysql的运行状态.其中比较主要的几个: 命令格式: show [global|session] status like 'command'; 默认是session: 当前会话:global: 全局会话. show status like "up_time"; 查看mys

MySQL备份方案-->(利用mysqldump以及binlog二进制日志)

From:http://blog.csdn.net/mchdba/article/details/11575605 随着数据不断增加,而且为了兼容以后的innodb存储引擎, 所以考虑采用mysqldump全备+日志增量备份的策略.使用mysqldump对于MySQL大部分mysql存储引擎比如myisam.innodb都有很好的支持. 方案一:mysqldump全备份+日志增量备份 1, mysqldump备份方案: 周一凌晨3点全备 周二到周日凌晨3点增量备份 2, 备份步骤 (1)    

mysql备份方案

1.环境说明 系统为centos 6.5 需要安装mutt和msmtp并可以发送邮件 需要安装python 2.6.6 需要安装xtrabackup 2.备份方案功能模块介绍 备份: 使用xtrabackup进行备份,每次备份会把备份文件放到一个当前日期和时间的文件夹内.所以创建备份夹new,把备份文件放到new中,并根据new中文件夹的个数判断是全备还是增备还是需要转移文件到last中.第一个文件是全备,每次增备是在前一天的基础上进行增备.备份脚本在把所有的文件从new移动到last的时候 会

MySQL备份方案(综述及脚本)

1.环境说明 系统为centos 6.5 需要安装mutt和msmtp并可以发送邮件 需要安装xtrabackup 2.备份方案功能模块介绍 备份: 使用xtrabackup进行备份,每次备份会把备份文件放到一个当前日期和时间的文件夹内.所以创建备份夹new,把备份文件放到new中,并根据new中文件夹的个数判断是全备还是增备还是需要转移文件到last中.第一个文件是全备,每次增备是在前一天的基础上进行增备.备份脚本在把所有的文件从new移动到last的时候 会把所有文件文件打包.以下是mysq

MySQL使用方案

优化时机 一般单表超过500万左右,或明显感觉到性能下降时,需要优化 优化方案 读写分离 使用缓存,如memcached或Redis 使用搜索引擎,如ElasticSearch或solr 分库分表 详细说明 读写分离很容易实现,建议在一开始做,不必等到性能下降时 发现性能下降时可做.比如有一张500万大表,不可能缓存全表,只能缓存热点数据,所以需要有一个监控热点数据的功能 像缓存整个大表或者数据量很大可以用搜索引擎,搜索引擎是文件存储,适合高效查找,但不对插入修改.事务等支持.使用搜索引擎的话需