MYSQL5.7.24 query cache测试

MYSQL5.7.24 query cache测试
5.7.24的官方mysql文档说明:The query cache is deprecated as of MySQL 5.7.20, and is removed in MySQL 8.0.
生产上建议关闭qc,这个功能官方都不看好,很多场景估计在生产也不会用到;并且开启之后,会影响性能;并且限制条件很多
If a table changes, all cached queries that use the table become invalid and are removed from the cache. This includes queries that use MERGE tables that map to the changed table. A table can be changed by many types of statements, such as INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE, or DROP DATABASE.
A query cannot be cached if it uses any of the following functions:
AES_DECRYPT()
AES_ENCRYPT()
BENCHMARK()
CONNECTION_ID()
CONVERT_TZ()
CURDATE()
CURRENT_DATE()
CURRENT_TIME()
CURRENT_TIMESTAMP()
CURRENT_USER()
CURTIME()
DATABASE()
ENCRYPT() with one parameter
FOUND_ROWS()
GET_LOCK()
IS_FREE_LOCK()
IS_USED_LOCK()
LAST_INSERT_ID()
LOAD_FILE()
MASTER_POS_WAIT()
NOW()
PASSWORD()
RAND()
RANDOM_BYTES()
RELEASE_ALL_LOCKS()
RELEASE_LOCK()
SLEEP()
SYSDATE()
UNIX_TIMESTAMP() with no parameters
USER()
UUID()
UUID_SHORT()

mysql> SHOW VARIABLES LIKE ‘have_query_cache’;

+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | YES |
+------------------+-------+

The have_query_cache server system variable indicates whether the query cache is available:
When using a standard MySQL binary, this value is always YES, even if query caching is disabled.

mysql> SHOW VARIABLES LIKE ‘have_query_cache’;

+------------------+-------+
| Variable_name | Value |
+------------------+-------+
| have_query_cache | YES

在5.7.24版本中 打开query_cache_type这个参数之后,QC生效

mysql> show variables like 'query_cache_%';
+------------------------------+---------+
| Variable_name | Value |
+------------------------------+---------+
| query_cache_limit | 1048576 |
| query_cache_min_res_unit | 4096 |
| query_cache_size | 1048576 |
| query_cache_type | ON //此参数需要重启mysqld,在5.7.24版本qc功能是关闭的

通过sysbench模拟并发测试
从如下测试中,可以看出qc命中率极低,1616609次的插入,只有122次被命中;而且从线程信息来看,qc过程会伴随着等待Waiting for query cache lock;说明出现严重的资源竞争,至于发生在什么地方,可能要从源码着手看看
建议:真的需要使用cache,建议使用redis之类的缓存库,作为前置库或者在应用层面来缓存,而不要打算使用db的qc来做快速查询缓存方式,不然死的很难看

mysql> SHOW STATUS LIKE 'Qcache%';
+-------------------------+---------+
| Variable_name | Value |
+-------------------------+---------+
| Qcache_free_blocks | 1 |
| Qcache_free_memory | 1031832 |
| Qcache_hits | 122 |
| Qcache_inserts | 1616609 |
| Qcache_lowmem_prunes | 0 |
| Qcache_not_cached | 1027352 |
| Qcache_queries_in_cache | 0 |
| Qcache_total_blocks | 1 |
+-------------------------+---------+
8 rows in set (0.00 sec)

mysql> show processlist;
+----+-------+-----------+-------+---------+------+--------------------------------+-------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+-------+---------+------+--------------------------------+-------------------------------------------------------------------------------+
| 2 | root | localhost | NULL | Query | 0 | starting | show processlist |
| 3 | trsen | localhost | trsen | Query | 0 | statistics | SELECT DISTINCT c FROM sbtest4 WHERE id BETWEEN 64241 AND 64241+99 ORDER BY c |
| 4 | trsen | localhost | trsen | Query | 0 | checking query cache for query | SELECT c FROM sbtest2 WHERE id BETWEEN 3565 AND 3565+99 |
| 5 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest2 WHERE id BETWEEN 7066 AND 7066+99 ORDER BY c |
| 6 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest4 WHERE id BETWEEN 92252 AND 92252+99 ORDER BY c |
| 7 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT DISTINCT c FROM sbtest7 WHERE id BETWEEN 2681 AND 2681+99 ORDER BY c |
| 8 | trsen | localhost | trsen | Query | 0 | Creating sort index | SELECT c FROM sbtest8 WHERE id BETWEEN 75432 AND 75432+99 ORDER BY c |
| 9 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT c FROM sbtest6 WHERE id BETWEEN 94057 AND 94057+99 ORDER BY c |
| 10 | trsen | localhost | trsen | Query | 0 | freeing items | SELECT c FROM sbtest1 WHERE id=13224 |
| 11 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest2 WHERE id BETWEEN 18472 AND 18472+99 ORDER BY c |
| 12 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT c FROM sbtest6 WHERE id BETWEEN 26497 AND 26497+99 ORDER BY c |
| 13 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest6 WHERE id BETWEEN 59582 AND 59582+99 ORDER BY c |
| 14 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest9 WHERE id BETWEEN 25069 AND 25069+99 ORDER BY c |
| 15 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT c FROM sbtest10 WHERE id BETWEEN 65172 AND 65172+99 ORDER BY c |
| 16 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT c FROM sbtest3 WHERE id BETWEEN 7585 AND 7585+99 ORDER BY c |
| 17 | trsen | localhost | trsen | Query | 0 | starting | COMMIT |
| 18 | trsen | localhost | trsen | Query | 0 | Sending data | SELECT DISTINCT c FROM sbtest8 WHERE id BETWEEN 11634 AND 11634+99 ORDER BY c |
+----+-------+-----------+-------+---------+------+--------------------------------+-------------------------------------------------------------------------------+
17 rows in set (0.00 sec)

mysql> show processlist;
+----+-------+-----------+-------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
| Id | User | Host | db | Command | Time | State | Info |
+----+-------+-----------+-------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+
| 2 | root | localhost | NULL | Query | 0 | starting | show processlist |
| 3 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | UPDATE sbtest2 SET c='92666139225-37618265056-14994285440-34146521669-03452300777-95624262219-040401 |
| 4 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 89962 AND 89962+99 ORDER BY c |
| 5 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT SUM(K) FROM sbtest8 WHERE id BETWEEN 85347 AND 85347+99 |
| 6 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | UPDATE sbtest7 SET k=k+1 WHERE id=29441 |
| 7 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | UPDATE sbtest10 SET k=k+1 WHERE id=88050 |
| 8 | trsen | localhost | trsen | Query | 0 | starting | COMMIT |
| 9 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest3 WHERE id BETWEEN 87306 AND 87306+99 ORDER BY c |
| 10 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 68973 AND 68973+99 ORDER BY c |
| 11 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest9 WHERE id BETWEEN 25876 AND 25876+99 ORDER BY c |
| 12 | trsen | localhost | trsen | Query | 0 | end | UPDATE sbtest10 SET k=k+1 WHERE id=68274 |
| 13 | trsen | localhost | trsen | Query | 0 | Sending to client | SELECT c FROM sbtest6 WHERE id BETWEEN 57977 AND 57977+99 ORDER BY c |
| 14 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest8 WHERE id BETWEEN 50340 AND 50340+99 ORDER BY c |
| 15 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest5 WHERE id BETWEEN 7558 AND 7558+99 ORDER BY c |
| 16 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 1790 AND 1790+99 ORDER BY c |
| 17 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest1 WHERE id BETWEEN 95693 AND 95693+99 ORDER BY c |
| 18 | trsen | localhost | trsen | Query | 0 | Waiting for query cache lock | SELECT DISTINCT c FROM sbtest5 WHERE id BETWEEN 32327 AND 32327+99 ORDER BY c |
+----+-------+-----------+-------+---------+------+------------------------------+------------------------------------------------------------------------------------------------------+

mysql5.7.24下索引、提交频率对InnoDB表写入速度的影响

mysql5.7.24下索引、提交频率对InnoDB表写入速度的影响

–只有自增列

DROP TABLE IF EXISTS `trsen1`;
CREATE TABLE `trsen1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name1` int(11) NOT NULL,
`name2` int(11) NOT NULL,
`name3` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB;

–无任何索引

DROP TABLE IF EXISTS `trsen1`;
CREATE TABLE `trsen1` (
`name1` int(11) NOT NULL,
`name2` int(11) NOT NULL,
`name3` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
) ENGINE=InnoDB;

–有自增列和二级索引

DROP TABLE IF EXISTS `trsen1`;
CREATE TABLE `trsen1` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`name1` int(11) NOT NULL,
`name2` int(11) NOT NULL,
`name3` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`),
INDEX k_d (name1)
) ENGINE=InnoDB;

自动插入存储过程

DELIMITER$$
DROP PROCEDURE IF EXISTS `insert_data_test`;
CREATE PROCEDURE `insert_data_test`(in rownum int, in commit_count int)
BEGIN
DECLARE i INT DEFAULT 0;
SET AUTOCOMMIT = 0;
WHILE i < rownum DO
INSERT INTO trsen1(name1, name2, name3) VALUES( FLOOR(RAND()*rownum),FLOOR(RAND()*rownum),NOW()); 
SET i = i+1; 
IF (commit_count > 0) AND (i + commit_count = 0) THEN
COMMIT;
END IF;
END WHILE;
COMMIT;
END$$

测试结果

–只有自增列

mysql> call insert_data_test(10000,1);
Query OK, 0 rows affected (0.56 sec)
mysql> call insert_data_test(10000,10);
Query OK, 0 rows affected (0.54 sec)
mysql> call insert_data_test(10000,100);
Query OK, 0 rows affected (0.42 sec)
mysql> call insert_data_test(10000,1000);
Query OK, 0 rows affected (0.40 sec)
mysql> call insert_data_test(10000,0);
Query OK, 0 rows affected (0.40 sec)

–无任何索引

mysql> call insert_data_test(10000,1);
Query OK, 0 rows affected (0.58 sec)
mysql> call insert_data_test(10000,10);
Query OK, 0 rows affected (0.50 sec)
mysql> call insert_data_test(10000,100);
Query OK, 0 rows affected (0.38 sec)
mysql> call insert_data_test(10000,1000);
Query OK, 0 rows affected (0.38 sec)
mysql> call insert_data_test(10000,0);
Query OK, 0 rows affected (0.37 sec)

–有自增列和二级索引

mysql> call insert_data_test(10000,1);
Query OK, 0 rows affected (0.79 sec)
mysql> call insert_data_test(10000,10);
Query OK, 0 rows affected (0.63 sec)
mysql> call insert_data_test(10000,100);
Query OK, 0 rows affected (0.47 sec)
mysql> call insert_data_test(10000,1000);
Query OK, 0 rows affected (0.60 sec)
mysql> call insert_data_test(10000,0);
Query OK, 0 rows affected (0.50 sec)

从上述的结论来看,空表上无任何索引,插入效率最高,其次是合适的批量提交较为快速,单个提交较为慢

mysql5.7.24下sql优化之分页

mysql5.7.24下sql优化之分页
经常遇到开发,sql前期跑着挺好,后面,怎么越来越慢;有时没有什么好的办法,只能通过数据来说话。
今天,就来讨论分页情况

首先造点测试数据。测试过程尽量避免cache中有数据

delimiter $$
DROP PROCEDURE IF EXISTS insert_data_val;
CREATE PROCEDURE insert_test_val(in num_limit int,in rand_limit int)
BEGIN
DECLARE i int default 1;
DECLARE name1 int default 1;
DECLARE name2 int default 1;
DECLARE name3 int default 1;
WHILE i<=num_limit do
set name1 = FLOOR(rand()*rand_limit);
set name2 = FLOOR(rand()*rand_limit);
set name3 = FLOOR(rand()*rand_limit);
INSERT into trsen(name1,name2,name3) values (name1,name2,name3);
set i = i + 1;
END WHILE;
END
$$

create table `trsen`(
`id` int(10) unsigned not null auto_increment,
name1 tinyint(3) unsigned not null,
name2 tinyint(3) unsigned not null,
name3 tinyint(3) unsigned not null,
primary key(`id`)
) engine=innodb default charset=utf8;


call insert_data_val(10000000,10);

一般mysql分页写法是,一般而言,分页sql的耗时随着start值得增大而急剧增加,

SELECT * FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 100, 10;
或者
SELECT * FROM `trsen` ORDER BY id DESC LIMIT 100, 10;


SELECT SQL_NO_CACHE * FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000, 100;

mysql> SELECT SQL_NO_CACHE * FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 800, 100;
100 rows in set, 1 warning (0.01 sec)
mysql> SELECT SQL_NO_CACHE * FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000, 100;
100 rows in set, 1 warning (0.34 sec)
mysql> explain SELECT SQL_NO_CACHE * FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000, 100\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: trsen
partitions: NULL
type: index
possible_keys: NULL
key: PRIMARY
key_len: 4
ref: NULL
rows: 80100
filtered: 10.00
Extra: Using where
1 row in set, 2 warnings (0.00 sec)

可以看到,随着分页数量的增加,SQL查询耗时也有数十倍增加。
可以把分页算法交给Elasticsearch等第三方解决方案,没必要让MySQL来做它不擅长的事情。
当然了,也可以通过sql优化来缩减不良分页sql带来的性能问题

利用主键id来做索引上的过滤后,再进行分页获取更多字段的值

利用子查询方式来分页

mysql> explain SELECT SQL_NO_CACHE * FROM (SELECT * FROM `trsen` WHERE id > (SELECT id FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000, 1) LIMIT 100) t ORDER BY id DESC\G;
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: <derived2>
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 100
filtered: 100.00
Extra: Using filesort
*************************** 2. row ***************************
id: 2
select_type: DERIVED
table: trsen
partitions: NULL
type: range
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: NULL
rows: 496766
filtered: 100.00
Extra: Using where
*************************** 3. row ***************************
id: 3
select_type: SUBQUERY
table: trsen
partitions: NULL
type: index
possible_keys: NULL
key: PRIMARY
key_len: 4
ref: NULL
rows: 80001
filtered: 10.00
Extra: Using where
3 rows in set, 2 warnings (0.31 sec)

mysql>SELECT SQL_NO_CACHE * FROM (SELECT * FROM `trsen` WHERE id > (SELECT id FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000, 1) LIMIT 100) t ORDER BY id DESC;
100 rows in set, 1 warning (0.31 sec)

利用子查询方式来分页

mysql> EXPLAIN SELECT SQL_NO_CACHE * FROM `trsen` INNER JOIN ( SELECT id FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000,100) t USING (id)\G;
*************************** 1. row ***************************
id: 1
select_type: PRIMARY
table: <derived2>
partitions: NULL
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 80100
filtered: 100.00
Extra: NULL
*************************** 2. row ***************************
id: 1
select_type: PRIMARY
table: trsen
partitions: NULL
type: eq_ref
possible_keys: PRIMARY
key: PRIMARY
key_len: 4
ref: t.id
rows: 1
filtered: 100.00
Extra: NULL
*************************** 3. row ***************************
id: 2
select_type: DERIVED
table: trsen
partitions: NULL
type: index
possible_keys: NULL
key: PRIMARY
key_len: 4
ref: NULL
rows: 80100
filtered: 10.00
Extra: Using where
3 rows in set, 1 warning (0.00 sec)

ERROR: 
No query specified

mysql> SELECT SQL_NO_CACHE * FROM `trsen` INNER JOIN ( SELECT id FROM `trsen` WHERE name1=1 ORDER BY id DESC LIMIT 80000,100) t USING (id);
100 rows in set, 1 warning (0.32 sec)

从上述的执行时间和执行计划来看,子查询和join方式都比原始方式快上0.02-0.03秒左右,至于子查询和join方式的选择,个人更倾向于join方式

mysql5.7伪双主快速搭建

1、安装myql
见http://www.trsenzhangdb.com/?p=1122
2、配置my.cnf同步参数

server_id=215
log-bin = mysql-bin
binlog_format = mixed
relay-log = relay-bin
relay-log-index = slave-relay-bin.index
auto-increment-increment = 2
auto-increment-offset = 1
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%

server_id=209
log-bin = mysql-bin
binlog_format = mixed
relay-log = relay-bin
relay-log-index = slave-relay-bin.index
auto-increment-increment = 2
auto-increment-offset = 1
replicate-wild-ignore-table=mysql.%
replicate-wild-ignore-table=test.%
replicate-wild-ignore-table=information_schema.%

3.节点1到节点2(master-->>slave)
215master到209slave

215:

grant replication slave on *.* to 'sync'@'10.10.181.209' identified by '111';
flush privileges;

flush tables with read lock;
mysqldump -uroot -p'xxx' xxx> xxx.sql
unlock tables;

show master status;

209:

change master to master_host='10.10.181.215',master_user='sync',master_password='111',master_log_file='mysql-bin.000001',master_log_pos=154;

4.节点2到节点1(master–>>slave)
209master到215slave

209

grant replication slave on *.* to 'sync'@'10.10.181.215' identified by '111';
flush privileges;
show master status;

215

change master to master_host='10.10.181.209',master_user='sync',master_password='111',master_log_file='mysql-bin.000001',master_log_pos=54815052;

mysql大小写脱敏lower_case_table_names=1,然后重启mysql后,启动slave,即可

mysql> show slave status \G;
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 10.10.181.215
Master_User: sync
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 3313165
Relay_Log_File: relay-bin.000002
Relay_Log_Pos: 150849
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: Yes
Slave_SQL_Running: No
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table: mysql.%,test.%,information_schema.%
Last_Errno: 1146
Last_Error: Error 'Table 'xxx.ALARM_VM_LOG' doesn't exist' on query. Default database: 'xxx'. Query: 'INSERT INTO ALARM_VM_LOG ( id,host_name,level,event_id,type,content,create_time ) VALUES( null,'p2p.zr.q',1,null,'SOFTWARE','domain:scan.q.cn\r\nhttp_user_agent:Mozilla/5.0 (Linux; Android 5.1.1; vivo Xplay5A Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044405 Mobile Safari/537.36 MicroMessenger/6.7.3.1360(0x26070333) NetType/4G Language/zh_CN Process/tools\r\nip:-\r\nsize:185216\r\nhostname:p2p.zr.hpay\r\nrequest_method:GET\r\nhttps:\r\nscheme:http\r\nstatus:200\r\nupstreamaddr:10.188.205.158:8441\r\nresponsetime:42.425\r\nargs:-\r\nhost:p2p.zr.q\r\nreferer:https://scan.q.cn/MicroWap/ny/queryBillsEntry.htm?biz_content=cHViSWQ6Z2hfZmEyOTkwMmQ3M2Nl&code=0119Pfwh2uFqVA0PpByh2HRqwh29PfwR&state=STATE\r\nrequest:/MicroWap/static/module/js/moment-with-locales.js\r\n@source:10.188.205.112\r\nclient:112.117.239.153\r\nupstream
Skip_Counter: 0
Exec_Master_Log_Pos: 150683
Relay_Log_Space: 3313532
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
Master_SSL_Verify_Server_Cert: No
Last_IO_Errno: 0
Last_IO_Error:
Last_SQL_Errno: 1146
Last_SQL_Error: Error 'Table 'xxx.ALARM_VM_LOG' doesn't exist' on query. Default database: 'xxx'. Query: 'INSERT INTO ALARM_VM_LOG ( id,host_name,level,event_id,type,content,create_time ) VALUES( null,'p2p.zr.q',1,null,'SOFTWARE','domain:scan.q.cn\r\nhttp_user_agent:Mozilla/5.0 (Linux; Android 5.1.1; vivo Xplay5A Build/LMY47V; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/57.0.2987.132 MQQBrowser/6.2 TBS/044405 Mobile Safari/537.36 MicroMessenger/6.7.3.1360(0x26070333) NetType/4G Language/zh_CN Process/tools\r\nip:-\r\nsize:185216\r\nhostname:p2p.zr.hpay\r\nrequest_method:GET\r\nhttps:\r\nscheme:http\r\nstatus:200\r\nupstreamaddr:10.188.205.158:8441\r\nresponsetime:42.425\r\nargs:-\r\nhost:p2p.zr.q\r\nreferer:https://scan.q.cn/MicroWap/ny/queryBillsEntry.htm?biz_content=cHViSWQ6Z2hfZmEyOTkwMmQ3M2Nl&code=0119Pfwh2uFqVA0PpByh2HRqwh29PfwR&state=STATE\r\nrequest:/MicroWap/static/module/js/moment-with-locales.js\r\n@source:10.188.205.112\r\nclient:112.117.239.153\r\nupstream
Replicate_Ignore_Server_Ids:
Master_Server_Id: 215
Master_UUID: dfb493b4-0739-11e9-bd12-001a4a164414
Master_Info_File: /home/mysql/data/master.info
SQL_Delay: 0
SQL_Remaining_Delay: NULL
Slave_SQL_Running_State:
Master_Retry_Count: 86400
Master_Bind:
Last_IO_Error_Timestamp:
Last_SQL_Error_Timestamp: 181225 15:13:39
Master_SSL_Crl:
Master_SSL_Crlpath:
Retrieved_Gtid_Set:
Executed_Gtid_Set:
Auto_Position: 0
Replicate_Rewrite_DB:
Channel_Name:
Master_TLS_Version:
1 row in set (0.00 sec)