MySQL运维实战之ProxySQL(9.5)proxysql和MySQL Group Replication配合使用

俊达2年前技术文章1093

如果后端MySQL使用了Group Replication,可通过配置mysql_group_replication_hostgroups表来实现高可用

mysql_group_replication_hostgroups

字段

描述

writer_hostgroup

写hostgroup。read_only和super_read_only OFF的节点。

backup_writer_hostgroup

如果可写的节点数超过max_writers,将超出限制的节点的hostgroup设置为backup_writer_hostgroup

reader_hostgroup

读hostgroup。read_only或super_read_only ON的节点放入改hostgroup。

offline_hostgroup

如果后端mysql实例健康检查失败或group replication状态异常,则会被移入offline_hostgroup

active

是否启用。

max_writers

可写节点数上限。超过该限制数量的可写节点会放入backup_writer_hostgroup

writer_is_also_reader

如果设置为0,则只有只读节点加入reader_hostgroup。

如果设置成1,则writer_hostgroup中的节点会同时加入reader_hostgroup。

如果设置为2,则只会把backup_writer_hostgroup中的节点加入reader_hostgroup。(如果backup_writer_hostgroup中无节点,好像也会把writer_hostgroup中的节点加入到reader_hostgroup,疑似bug)。

max_transactions_behind


comment



配置集群节点

insert into mysql_servers (
  hostgroup_id, hostname, port, max_replication_lag)
values ( 200, '172.16.121.236', 3306, 3);

insert into mysql_servers (
  hostgroup_id, hostname, port, max_replication_lag)
values ( 210, '172.16.121.237', 3306, 3);


load mysql servers  to runtime; 
SAVE MYSQL servers  TO DISK;


配置集群信息

insert into mysql_group_replication_hostgroups
(writer_hostgroup, backup_writer_hostgroup, reader_hostgroup, 
offline_hostgroup, active, max_writers, writer_is_also_reader,
max_transactions_behind, comment)
values(200, 201, 210, 202, 1, 1, 0, 0, 'mysql mgr cluster 1');

load mysql servers to runtime;
save mysql servers to disk;

创建和配置用户信息

在后端创建用户

mysql> create user 'mgr'@'%' identified by 'mgr123';
Query OK, 0 rows affected (0.06 sec)

mysql> grant select,insert,update,delete,create,drop on *.* to 'mgr'@'%';
Query OK, 0 rows affected (0.02 sec)


在proxysql配置用户信息

insert into mysql_users
(username, password, transaction_persistent, backend, frontend, default_hostgroup, comment)
values ('mgr', 'mgr123', 1, 1, 1, 200, 'backend user for mgr cluster');

load mysql users  to runtime; 
save mysql users to disk;



按上面的步骤配置后,就实现了基于MySQL Group Replication和ProxySQL的高可用架构。

相关文章

MySQL优化器特性(六)表扫描成本计算

全表扫描成本使用optimizer_trace,或者使用explain format=tree, 或者explain format=json,可以查看查询的costmysql> exp...

MySQL运维实战(7.2) MySQL复制server_id相关问题

MySQL运维实战(7.2) MySQL复制server_id相关问题

主库server_id没有设置主库没有设置server_idGot fatal error 1236 from master when&nb...

MySQL优化器特性(二)MRR优化

MySQL优化器特性(二)MRR优化

Index Range Scan索引范围扫描的一般步骤:1、根据where条件,从B+树定位到第一条记录。2、从索引页子节点中获取到行号(rowid),根据rowid回表查询数据。3、使用额外的whe...

MySQL运维实战(4.8) SQL_MODE之NO_ENGINE_SUBSTITUTION

开启NO_ENGINE_SUBSTITUTION,建表时如果指定的存储引擎不可用或不存在,SQL报错。否则会使用默认的存储引擎替换。如果不设置NO_ENGINE_SUBSTITUTION,建表时指定的...

MySQL运维实战(5.5) 数据导入导出时的字符集问题

mysql可以使用load data/select into outfile或mysqldump工具进行数据导入导出。下面分别分析数据导入导出时的字符集相关问题。准备测试数据创建测试表,2个字段分别使...

 MySQL运维实战之Clone插件(10.1)使用Clone插件

MySQL运维实战之Clone插件(10.1)使用Clone插件

clone插件介绍mysql 8.0.17版本引入了clone插件。使用clone插件可以对本地l或远程的mysql实例进行clone操作。clone插件会拷贝innodb存储引擎表,clone得到的...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。