`
hbxflihua
  • 浏览: 683319 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Mysql Group Replication 主从(单主)中间件ProxySQL安装配置

阅读更多

注意:第4、第5两步的操作可以在mysql group replication主节点上先行执行。

 

1、下载安装ProxySQL

wget https://github.com/sysown/proxysql/releases/download/v1.3.3/proxysql-1.3.3-1-centos67.x86_64.rpm
rpm –ivh proxysql-1.3.3-1-centos67.x86_64.rpm

 

2、启动ProxySQL

service proxysql start

 

3、登录ProxySQL

mysql -h127.0.0.1 -P6032 -uadmin -padmin

 

4、MGR集群创建相关用户并授权

#在集群的主节点执行如下脚本
#添加监控用户并授权
grant all privileges on *.* to 'proxysql'@'172.16.90.%' identified by 'proxysql';
#添加代理业务用户并授权
CREATE USER 'proxyuser'@'%' IDENTIFIED BY 'proxypass'; 
GRANT INSERT,UPDATE,DELETE,SELECT ON * . * TO 'proxyuser'@'%';
flush privileges;

 

5、创建检查MGR节点状态的函数和视图

参照前面的博客,在MGR主节点上执行下面链接中的SQL 

https://github.com/lefred/mysql_gr_routing_check/blob/master/addition_to_sys.sql

source /root/addition_to_sys.sql

 

6、配置proxysql

    添加MGR成员节点到proxysql mysql_servers表

insert into mysql_servers (hostgroup_id, hostname, port) values(1, '172.16.90.39', 3306);
insert into mysql_servers (hostgroup_id, hostname, port) values(2, '172.16.90.39', 3306);
insert into mysql_servers (hostgroup_id, hostname, port) values(2, '172.16.90.40', 3306);
insert into mysql_servers (hostgroup_id, hostname, port) values(2, '172.16.90.41', 3306);

    hostgroup_id = 1代表write group,针对我们提出的限制,这个地方只配置了一个节点;hostgroup_id = 2代表read group,包含了MGR的所有节点。

proxysql还可以配置读写分离,本文不考虑这个特性的配置。对于上面的hostgroup配置,所有的读写操作,默认会发送到hostgroup_id1hostgroup,也就是发送到写节点上。

修改proxysql监控的用户及密码

UPDATE global_variables SET variable_value='proxysql' WHERE variable_name='mysql-monitor_username';
UPDATE global_variables SET variable_value='proxysql' WHERE variable_name='mysql-monitor_password';

 添加应用通过proxyuser访问后端MGR节点的用户

INSERT INTO MySQL_users(username,password,default_hostgroup) VALUES ('proxyuser','proxypass',1);

 global_variablesmysql_serversmysql_users表的信息加载到RUNTIME,更进一步加载到DISK

LOAD MYSQL VARIABLES TO RUNTIME;
SAVE MYSQL VARIABLES TO DISK;
LOAD MYSQL SERVERS TO RUNTIME;
SAVE MYSQL SERVERS TO DISK;
LOAD MYSQL USERS TO RUNTIME;
SAVE MYSQL USERS TO DISK;

 

 

7、配置scheduler

Github地址https://github.com/ZzzCrazyPig/proxysql_groupreplication_checker下载gr_sw_mode_checker.sh

将脚本gr_sw_mode_cheker.sh放到目录/var/lib/proxysql/下 

proxysqlscheduler表里面加载如下记录,然后加载到RUNTIME使其生效,同时还可以持久化到磁盘

 

insert into scheduler(id, active, interval_ms, filename, arg1, arg2, arg3, arg4)
  values(1, 1, 3000, '/var/lib/proxysql/gr_sw_mode_checker.sh', 1, 2, 1, '/var/lib/proxysql/checker.log');
LOAD SCHEDULER TO RUNTIME;
SAVE SCHEDULER TO DISK;

 

8、java连接proxysql配置

 

jdbc.url=jdbc:mysql://172.16.90.39:6033/ifaes_test?useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
jdbc.username=proxyuser
jdbc.password=proxypass

 

 

分享到:
评论

相关推荐

    MySQL PROXYSQL一读写分离环境搭建.docx

    在搭建环境之前,参照《MySQL Replication 一主多从环境搭建》的指南,完成MySQL主从复制的配置,确保主库的数据能够实时同步到从库。这一步至关重要,因为读写分离的基础是数据的一致性。 接下来,我们开始安装...

    mysql主从+读写分离宣贯.pdf

    为了增强容灾能力,可以考虑使用多主复制或多级复制架构,或者结合其他技术如Group Replication、InnoDB Cluster等。 五、性能优化 在实际生产环境中,为了进一步提升性能,可以对从库进行分区、分片,甚至使用...

    深入探索MySQL主从架构与读写分离:提升数据安全和性能的实战指南

    此外,为了应对主服务器故障,可以使用如MMM(MySQL Master-Master Replication)、MHA(MySQL High Availability)或MGR(MySQL Group Replication)等工具实现主主复制或故障切换。 读写分离是主从架构的一种扩展...

    mysql5.7 双主互备、高可用、读写分离 + keepalived 实战演练

    MySQL 的高可用性可以通过多种方式实现,如主从复制、多主复制、Group Replication 等。在这个场景中,双主互备就是实现高可用的一种方式。 读写分离是数据库优化策略之一,主要是为了缓解主节点的压力。在大型应用...

    gr_routing

    标题中的"gr_routing"可能指的是ProxySQL的路由规则配置,这是一种在MySQL数据库环境中使用的高性能、高可用性中间件。ProxySQL能够智能地管理和分发SQL查询,确保数据的高效访问和负载均衡。在这个上下文中,"gr_...

    MySQL高可用解决方案_社区

    1. **主从复制**:这是MySQL最基础的高可用方案,通过配置主库和从库,数据在主库上写入后,会自动同步到从库。这种架构可以实现读写分离,提高读取性能,并在主库故障时快速切换到从库,降低单点故障的风险。 2. *...

    3-2、明溪源-金融行业MySQL高可用实践-1214-v1.01

    2. **MySQL Group Replication (InnoDB Cluster)**:适合新规划的实例,提供自动选主和灵活的一致性策略,但部署配置复杂,需要考虑网络隔离和故障处理。 爱可生提出的金融级MySQL高可用方案,采用异步/增强半同步/...

    MySQL分布式实战宝典 视频教程 下载 因为太大存百度云盘2.zip

    3. Group Replication:介绍MySQL的Group Replication特性,提供更高级别的数据一致性保障。 三、数据分片 1. 垂直分片:理解如何根据数据属性进行垂直切分,减少数据访问的复杂度。 2. 水平分片:介绍水平分片的...

    阿里MySQL高可用方案.zip

    阿里MySQL采用了分布式集群架构,如MySQL Group Replication或Percona XtraDB Cluster,通过多节点之间的数据复制和仲裁机制,增强了系统的容错能力。当某个节点出现故障时,集群能够自动切换到其他健康的节点,保证...

    高性能高可用mysql架构.zip

    - **组复制**:MySQL Group Replication提供更高级别的数据一致性和高可用性,允许多个节点同时写入并自动解决冲突。 - **半同步复制**:确保至少有一个从库接收到并写入了主库的数据,增加数据安全性。 - **故障...

    [实战]Java分布式高级架构师课程学习笔记.docx

    Kafka是一个高吞吐量的消息中间件,单机部署简单,集群部署则需要配置多个Broker节点,设置 zookeeper 集群,以及配置producer和consumer的group.id等参数,确保消息的可靠传递。 7. **Zookeeper单机与集群搭建**...

    mysql 面试题.pdf

    2. **MySQL中的复制(Replication)是怎样工作的?有什么配置选项?** - **复制** 是指在一个或多个从属服务器上复制主服务器上的数据。 - **配置选项** 包括复制类型(异步/半同步)、日志保留策略等。 3. **...

    姜承尧-MySQL_57_七种武器_rc

    对于MySQL 5.7的新特性,姜承尧特别强调了“七种武器”,它们是无损复制、全文索引、多线程Slave、并行复制、读写分离、Group Replication和原生JSON格式支持等。这些特性可以提高数据的安全性、减少主从复制延迟,...

    mysql学习文档从基础到调优再到高可用案例详解

    - Group Replication:MySQL 5.7引入的多主复制,提供更强的一致性和高可用性。 - MySQL Cluster:分布式内存集群,数据在多个节点间冗余,支持自动故障恢复。 8. **备份与恢复**: - 全量备份与增量备份:定期...

    mysql面试专题.zip

    - Group Replication:MySQL的集群解决方案,提供更高级别的数据一致性和高可用性。 6. **分区与分表** - 分区:根据特定列将大表分割为小块,提高查询效率和管理能力。 - 分表:垂直切分(按列)和水平切分(按...

    MySQL后端面试题汇总.zip

    - **组复制**:了解MySQL Group Replication,提高高可用性和容错性。 7. **分区与分表** - **分区策略**:ROW, RANGE, LIST, HASH分区的区别和应用场景。 - **垂直切分与水平切分**:理解这两种分表方式,以及...

    银行业要使用 MySQL 需着力解决三大问题趋势解读.docx

    - 使用MySQL 5.7.17及以上版本提供的组复制功能(Group Replication),该功能基于Paxos协议实现了Shared Nothing架构,能够保证数据的一致性和高可用性。 - 考虑实施更先进的数据保护措施,如数据加密、备份与恢复...

Global site tag (gtag.js) - Google Analytics