0

我已经用主从配置了 Proxysql。我只配置了一个从属设备并开启。而不是在主服务器上发生update,而是insert在从服务器上发生。我的 proxysql 服务器和从服务器是一样的。

我给出的查询规则是:

INSERT INTO mysql_query_rules (active, match_digest, destination_hostgroup, apply) VALUES (1, '^SELECT.*', 1, 0); 
INSERT INTO mysql_query_rules (active, match_digest, destination_hostgroup, apply) VALUES (1, '^SELECT.*FOR UPDATE', 0, 1); 

hostgroup id 0用于更新,1用于select.

一些供参考的结果是:

Admin>SELECT hostgroup_id,hostname,port,status,weight FROM runtime_mysql_servers;
+--------------+---------------+------+--------+--------+
| hostgroup_id | hostname      | port | status | weight |
+--------------+---------------+------+--------+--------+
| 0            | 127.0.0.1 | 3306 | ONLINE | 1          |
| 1            | 127.0.0.1 | 3306 | ONLINE | 1          |
| 1            | 127.0.0.2 | 3306 | ONLINE | 1000       |
| 0            | 127.0.0.2 | 3306 | ONLINE | 1000       |
+--------------+---------------+------+--------+--------+

帮助我,以便我可以将我updateinsert查询转发到 127.0.0.1 的主服务器并select查询到 127.0.0.2 的从属服务器

4

1 回答 1

0

在您的第一条规则中,INSERT INTO mysql_query_rules您将apply值设置为 0。1如果有匹配项,您可以将其设置为停止进一步处理。

看起来你的服务器是重复的?

您可能还想检查default_hostgroup您的 proxysql 用户的值。

于 2020-02-26T17:09:09.527 回答