mysql proxysql+mgr集群 centos7系统安装配置

编译安装

wget https://codeload.github.com/sysown/proxysql/tar.gz/v1.4.4

tar xf v1.4.4

cd proxysql-1.4.4

yum install -y automake bzip2 cmake make gcc gcc-c++ git openssl openssldevel patch

make

make install

yum 安装

wget https://github.com/sysown/proxysql/releases/download/v1.4.4/proxysql-1.4.4-1-centos7.x86_64.rpm

yum install http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm

yum install proxysql

启动登录

systemctl start proxy

mysql -uadmin -padmin -P6032 -h127.0.0.1 –prompt=’proxysql>’

配置proxysql  mysql内

mysql添加proxysql用户

mysql>grant all privileges on *.* to ‘proxysql’@’%’ identified by ‘proxysql’;

mysql>flush privileges;

配置proxysql

mysql服务注册

mysql>insert into mysql_servers (hostgroup_id, hostname, port) values(1,’192.168.15.85′, 3306);

mysql>insert into mysql_servers (hostgroup_id, hostname, port) values(2,’192.168.15.86′, 3306);

mysql>insert into mysql_servers (hostgroup_id, hostname, port) values(2,’192.168.15.87′, 3306);

hostgroup_id = 1代表write group,针对我们提出的限制,这个地方只配置了一个节

点;hostgroup_id = 2代表read group,包含了MGR的所有节点。

#即时生效

mysql>LOAD MYSQL SERVERS TO RUNTIME;

#存入磁盘

mysql>SAVE MYSQL SERVERS TO DISK;

添加proxysql监控mysql用户

GRANT SELECT on sys.* to ‘monitor’@’%’ identified by ‘monitor’;

mysql>LOAD MYSQL VARIABLES TO RUNTIME;

mysql>SAVE MYSQL VARIABLES TO DISK;

添加后端访问用户

mysql>insert into mysql_users(username, password) values(‘proxysql’,’proxysql’);

mysql>LOAD MYSQL USERS TO RUNTIME;

mysql>SAVE MYSQL USERS TO DISK;

添加mysql group replication 信息

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)  values (1,3,2,4,1,1,0,100);

mysql>save mysql servers to disk;

mysql>load mysql servers to runtime;

proxysql 读写分离

insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply)values(1,1,’^SELECT.*FOR UPDATE$’,1,1);

insert into mysql_query_rules(rule_id,active,match_digest,destination_hostgroup,apply)values(2,1,’^SELECT’,2,1);

load mysql query rules to runtime;

save mysql query rules to disk;

#将select语句全部路由至hostgroup_id=2的组(也就是读组)

#但是select * from tb for update这样的语句是修改数据的,所以需要单独定义,将它路由至hostgroup_id=1的组(也就是写组)

#其他没有被规则匹配到的组将会被路由至用户默认的组(mysql_users表中的default_hostgroup)

MySQL [(none)]> select rule_id,active,match_digest,destination_hostgroup,apply from mysql_query_rules;

+———+——–+———————-+———————–+——-+

| rule_id | active | match_digest         | destination_hostgroup | apply |

+———+——–+———————-+———————–+——-+

| 1       | 1      | ^SELECT.*FOR UPDATE$ | 1                     | 1     |

| 2       | 1      | ^SELECT              | 2                     | 1     |

+———+——–+———————-+———————–+——-+

2 rows in set (0.00 sec)

select * from stats_mysql_query_digest;

4个组含义

1:writer group

2:reader group

3:backup group

4:offline group

writer_is_also_reader: 0是写不支持读,1是支持读。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏大内老A

谈谈基于Kerberos的Windows Network Authentication[下篇]

六、User2User Sub-Protocol:有效地保障Server的安全 通过3个Sub-protocol的介绍,我们可以全面地掌握整个Kerberos的...

2307
来自专栏PHP在线

总结

1.安装完成后备份快照 2.不插网线使用虚拟机,查看vmware的IP网段,设置linux系统相同的网段。 3.rpm -qa 软件名字 //查询软件是...

3255
来自专栏linux驱动个人学习

耳机驱动程序上报

1712
来自专栏MongoDB中文社区

MongoDB事务模型分析

在了解写操作的事务性之前,需要先了解mongo层的每一个table,是如何与wiredtiger层的table(btree)对应的。mongo层一个最简单的ta...

2802
来自专栏蓝天

mooon-agent接收状态机代码摘要

1012
来自专栏LhWorld哥陪你聊算法

Hive篇--相关概念和使用二

分桶表是对列值取哈希值的方式,将不同数据放到不同文件中存储。 对于hive中每一个表、分区都可以进一步进行分桶。(可以对列,也可以对表进行分桶) 由列的哈希值除...

2642
来自专栏散尽浮华

Mysql读写分离方案-MySQL Proxy环境部署记录

Mysql的读写分离可以使用MySQL Proxy和Amoeba实现,其实也可以使用MySQL-MMM实现读写分离的自动切换。MySQL Proxy有一项强大功...

4378
来自专栏PingCAP的专栏

TiDB 2.1 GA Release Notes

2018 年 11 月 30 日,TiDB 发布 2.1 GA 版。相比 2.0 版本,该版本对系统稳定性、性能、兼容性、易用性做了大量改进。

1690
来自专栏杨建荣的学习笔记

MySQL修复表的简单分析(r11笔记第19天)

今天有个同事问我一个数据库的问题,如果开始他就把环境细节全都告诉我,可能我就知难而退了。等我大体明白了问题之后,发现好像背景比我想的要复杂多了。这是一个远程云主...

35816
来自专栏magicsoar

C++操作mysql方法总结(2)

C++通过ODBC和通过MFC ODBC操作mysql的两种方式 使用vs2013和64位的msql 5.6.16进行操作 ? 项目中使用的数据库名和表数据请参...

2806

扫码关注云+社区

领取腾讯云代金券