mysql read write_mysql 高可用架构 proxysql 之四 write read separation

os:centos 7.4

mysql: 5.7

proxysql: 1.4.10

ip 规划如下:

192.168.56.101 node1 (proxysql)

192.168.56.102 node2 (mysql master)

192.168.56.103 node3 (mysql slave)

192.168.56.104 node4 (mysql slave)

配置读写分离策略需要使用 mysql_query_rules 表。表中的 match_pattern 字段就是代表设置的规则,destination_hostgroup 字段代表默认指定的分组,apply 代表真正执行应用规则。

把所有以 select 开头的语句全部分配到编号为 2 的读组中。

select for update 会产生一个写锁,对数据查询的实效性要求高,把它分配到编号为 1 的写组中,其他所有操作都会默认路由到写组中。

读写分离规则 main.mysql_query_rules

Admin> use main;

Admin> select * from main.mysql_query_rules;

Empty set (0.00 sec)

Admin> insert into main.mysql_query_rules(active,match_pattern,destination_hostgroup, apply) VALUES(1,'^SELECT.*FOR UPDATE$',10,1);

Admin> insert into main.mysql_query_rules(active,match_pattern,destination_hostgroup, apply) VALUES(1,'^SELECT',20,1);

Admin> load mysql query rules to runtime;

Admin> save mysql query rules to disk;

更详细的操作,研究透彻后随时补充。

下面是一些proxysql常用的命令

# /etc/init.d/proxysql

Usage: ProxySQL {start|stop|status|reload|restart|initial}

生产环境切不可 initial。

加载或保存 users(mysql_users)

[1]: load mysql users to runtime / load mysql users from memory –将修改后的配置(在memory层)用到实际生产

[2]: save mysql users to memory / save mysql users from runtime –将生产配置拉一份到memory中

[3]: load mysql users to memory / load mysql users from disk –将磁盘中持久化的配置拉一份到memory中来

[4]: save mysql users to disk / save mysql users from memory –将memoery中的配置保存到磁盘中去

[5]: load mysql users from config –将配置文件中的配置加载到memeory中

加载或保存servers(mysql_servers):

[1]: load mysql servers to runtime –让修改的配置生效

[2]: save mysql servers to memory

[3]: load mysql servers to memory

[4]: save mysql servers to disk –将修改的配置持久化

[5]: load mysql servers from config

加载或保存 query rules(mysql_query_rules):

[1]: load mysql query rules to runtime

[2]: save mysql query rules to memory

[3]: load mysql query rules to memory

[4]: save mysql query rules to disk

[5]: load mysql query rules from config

加载或保存 mysql variables(global_variables):

(select * from global_variables where variable_name like ‘mysql-%’)

[1]: load mysql variables to runtime

[2]: save mysql variables to memory

[3]: load mysql variables to memory

[4]: save mysql variables to disk

[5]: load mysql variables from config

加载或保存 admin variables

(select * from global_variables where variable_name like ‘admin-%’):

[1]: load admin variables to runtime

[2]: save admin variables to memory

[3]: load admin variables to memory

[4]: save admin variables to disk

[5]: load admin variables from config

多读官方文档!!!

多读官方文档!!!

多读官方文档!!!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值