前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mysql proxysql+mgr集群 centos7系统安装配置

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

作者头像
zhangdd
发布2018-08-01 12:03:19
9760
发布2018-08-01 12:03:19
举报
文章被收录于专栏:zhangdd.comzhangdd.com

编译安装

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是支持读。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-05-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档