关于GTID模式下备份时 --set-gtid-purged=OFF 参数的实验

回复

liyh 发起了问题 • 1 人关注 • 0 个回复 • 982 次浏览 • 2018-02-28 17:50 • 来自相关话题

关于redo log的内容

yejr 回复了问题 • 2 人关注 • 1 个回复 • 390 次浏览 • 2018-01-30 14:00 • 来自相关话题

关于insert buffer的效果

yejr 回复了问题 • 2 人关注 • 1 个回复 • 488 次浏览 • 2018-01-30 13:56 • 来自相关话题

关于大事务的max_binlog_cache_size调大

oracletomysql 回复了问题 • 2 人关注 • 1 个回复 • 401 次浏览 • 2018-01-29 17:36 • 来自相关话题

关于只读事务的一些疑惑

arron 回复了问题 • 2 人关注 • 1 个回复 • 433 次浏览 • 2018-01-24 17:49 • 来自相关话题

MYSQL占用高

回复

lamber 发起了问题 • 1 人关注 • 0 个回复 • 539 次浏览 • 2018-01-21 10:18 • 来自相关话题

MySQL双班学习遇到的问题

liyh 回复了问题 • 5 人关注 • 5 个回复 • 697 次浏览 • 2018-01-19 09:45 • 来自相关话题

Mysql CPU异常飙升

card_2005 回复了问题 • 2 人关注 • 4 个回复 • 494 次浏览 • 2018-01-15 18:23 • 来自相关话题

对上课讲到 ProxySQL 中间件产生两个问题的反馈

wubx 回复了问题 • 3 人关注 • 1 个回复 • 388 次浏览 • 2018-01-10 11:48 • 来自相关话题

proxysql 配置疑问

huganggang 发表了文章 • 5 个评论 • 410 次浏览 • 2018-01-10 11:25 • 来自相关话题

1.环境
192.168.1.100  主库
192.168.1.101  从库
192.168.1.102  proxysql

2.软件
mysql5.7.19
proxysql1.4.4

3.安装
下载:wget   https://github.com/sysown/prox ... 4.rpm
安装依赖:yum  install   perl-DBD-MySQL
安装proxysql:rpm  -ivh  proxysql-1.4.4-1-centos67.x86_64.rpm 
启动:service proxysql start
mysql安装、主从配置略

4.创建数据库账号
在主库创建数据库账号

业务账号
CREATE USER 'proxytest'@'%' IDENTIFIED BY 'proxytest';
GRANT USAGE ON  *.* TO 'proxytest'@'%';
监控账号
CREATE USER 'monitor'@'%' IDENTIFIED BY 'monitor';
GRANT ALL ON * . * TO 'monitor'@'%';
FLUSH PRIVILEGES;

5.配置
连接管理端口
mysql -u admin -padmin -h 127.0.0.1 -P6032

查看有没有规则,有规则delete规则,重新配置
SELECT * FROM mysql_servers;
SELECT * from mysql_replication_hostgroups;
SELECT * from mysql_query_rules;
SELECT * FROM mysql_users;

添加server和user
insert into  mysql_servers(hostgroup_id,hostname,port,max_connections)  values(0,'192.168.1.100',3307,10),(1,'192.168.1.101',3307,10);
insert into  mysql_users(username,password,active,default_hostgroup,default_schema)  values('proxytest','proxytest',1,0,'test');
注意:  mysql_users表中active要为1,否则连接不上。还有default_hostgroup 要设置为正确的值,这里设置为0,即主库,与mysql_servers中的hostgroup_id对应。
load  mysql  servers  to  runtime;
save  mysql servers  to  disk ;
load  mysql  users  to  runtime;
save  mysql users  to  disk ;

配置监控
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_username';
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_password';
load  mysql  variables   to   runtime   ;
save  mysql   variables  to  disk   ;

读写分离配置
这里我们将所有除了SELECT.*FOR UPDATE的select全部发送到slave,其他的的语句发送到master。

INSERT INTO mysql_query_rules(active,match_pattern,destination_hostgroup,apply) VALUES(1,'^SELECT.*FOR UPDATE$',0,1);
INSERT INTO mysql_query_rules(active,match_pattern,destination_hostgroup,apply) VALUES(1,'^SELECT',1,1);
LOAD MYSQL QUERY RULES TO RUNTIME;
SAVE MYSQL QUERY RULES TO DISK;

6.测试
连上proxysql 6033进行测试
mysql -uproxytest -pproxytest -P6033
创建测试表:
CREATE TABLE `t1` (
  `id` int(11) DEFAULT NULL,
   `name` varchar(20) DEFAULT NULL
   );

进行DML 、DDL测试操作。

我测了没有问题,这里疑问:
 1.我看官方文档proxysql 配置读写分离没有用到mysql_replication_hostgroups 表, 
https://github.com/sysown/proxysql/wiki/ProxySQL-Read-Write-Split-(HOWTO). 
 什么情况下用到?
2.mysql_query_rules规则里面如何写不区分大小写的规则,比如大写SELECT和小写
 select 会匹配一条规则。
3. proxysql高可用就是多个proxysql前面配个keepalived ? 查看全部
1.环境
192.168.1.100  主库
192.168.1.101  从库
192.168.1.102  proxysql

2.软件
mysql5.7.19
proxysql1.4.4

3.安装
下载:wget   https://github.com/sysown/prox ... 4.rpm
安装依赖:yum  install   perl-DBD-MySQL
安装proxysql:rpm  -ivh  proxysql-1.4.4-1-centos67.x86_64.rpm 
启动:service proxysql start
mysql安装、主从配置略

4.创建数据库账号
在主库创建数据库账号

业务账号
CREATE USER 'proxytest'@'%' IDENTIFIED BY 'proxytest';
GRANT USAGE ON  *.* TO 'proxytest'@'%';
监控账号
CREATE USER 'monitor'@'%' IDENTIFIED BY 'monitor';
GRANT ALL ON * . * TO 'monitor'@'%';
FLUSH PRIVILEGES;

5.配置
连接管理端口
mysql -u admin -padmin -h 127.0.0.1 -P6032

查看有没有规则,有规则delete规则,重新配置
SELECT * FROM mysql_servers;
SELECT * from mysql_replication_hostgroups;
SELECT * from mysql_query_rules;
SELECT * FROM mysql_users;

添加server和user
insert into  mysql_servers(hostgroup_id,hostname,port,max_connections)  values(0,'192.168.1.100',3307,10),(1,'192.168.1.101',3307,10);
insert into  mysql_users(username,password,active,default_hostgroup,default_schema)  values('proxytest','proxytest',1,0,'test');
注意:  mysql_users表中active要为1,否则连接不上。还有default_hostgroup 要设置为正确的值,这里设置为0,即主库,与mysql_servers中的hostgroup_id对应。
load  mysql  servers  to  runtime;
save  mysql servers  to  disk ;
load  mysql  users  to  runtime;
save  mysql users  to  disk ;

配置监控
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_username';
UPDATE global_variables SET variable_value='monitor' WHERE variable_name='mysql-monitor_password';
load  mysql  variables   to   runtime   ;
save  mysql   variables  to  disk   ;

读写分离配置
这里我们将所有除了SELECT.*FOR UPDATE的select全部发送到slave,其他的的语句发送到master。

INSERT INTO mysql_query_rules(active,match_pattern,destination_hostgroup,apply) VALUES(1,'^SELECT.*FOR UPDATE$',0,1);
INSERT INTO mysql_query_rules(active,match_pattern,destination_hostgroup,apply) VALUES(1,'^SELECT',1,1);
LOAD MYSQL QUERY RULES TO RUNTIME;
SAVE MYSQL QUERY RULES TO DISK;

6.测试
连上proxysql 6033进行测试
mysql -uproxytest -pproxytest -P6033
创建测试表:
CREATE TABLE `t1` (
  `id` int(11) DEFAULT NULL,
   `name` varchar(20) DEFAULT NULL
   );

进行DML 、DDL测试操作。

我测了没有问题,这里疑问:
 1.我看官方文档proxysql 配置读写分离没有用到mysql_replication_hostgroups 表, 
https://github.com/sysown/proxysql/wiki/ProxySQL-Read-Write-Split-(HOWTO). 
 什么情况下用到?
2.mysql_query_rules规则里面如何写不区分大小写的规则,比如大写SELECT和小写
 select 会匹配一条规则。
3. proxysql高可用就是多个proxysql前面配个keepalived ?