最近查看慢查询日志,一直有看到SELECT * FROM tb_name的SQL语句,在之前SQL审核的时候,也没发现有这些SQL的存在,所以很好奇这里怎么出现的,后来用了vc-mysql-sniffer脚本去抓SQL来分析,也没有找出SELECT * 之类的SQL,下面我上图让分析一下:

slow.log

线上慢查询的排查

可以看到大量的SELECT * 的SQL,如果细心的小伙伴会发现,SQL之前都有use某个库,从这里应该可以想到一般程序里不可能会出现use xxx之类的SQL,所以可以排除程序在作怪的可能了,一般use某个库再执行SQL,普遍都是人为操作的比较多,但是DB服务器只有我才有权限,所以觉得好奇怪,在想这些SQL从哪里飞出来的,后来认真分析了一下slow log发现每次出现这类SQL的频率都是间隔一个小时左右,后来我再检查一下些库是否有定时器,结果发现没有,这下我就大概知道什么原因了,我在slave上是每个小时一备份的,以下是模拟的过程:

 

在测试服务器把慢查询时间设置为0.5s,然后把查询日志打开:(测试完后,记得关掉general_log)

mysql> set global long_query_time=0.5;
Query OK, 0 rows affected (0.00 sec)
mysql> set global general_log=on;
Query OK, 0 rows affected (0.01 sec)

然后把备份导入测试服务器:

[root@Test_server ~]# mysql -uroot -p123456 testdb < ./testdb.sql 
[root@Test_server ~]#

在session1窗口执行查看general_log的操作:

[root@Test_server ~]# tail -f /data/mysql3306/Test_server.log

在session2窗口执行备份操作:

[root@Test_server ~]# mysqldump -uroot -p123456  -R --events --triggers=true --master-data=2 --single-transaction  testdb > testdb.sql

再在session1上查看打印日志:

[root@Test_server ~]# tail -f /data/mysql3306/Test_server.log 
/data/service/mysql/bin/mysqld, Version: 5.6.25-log (MySQL Community Server (GPL)). started with:
Tcp port: 3306  Unix socket: /tmp/mysql3306.sock
Time                 Id Command    Argument
151006 14:21:21 583376 Quit
151006 14:21:22 583389 Connect  root@localhost on 
                583389 Query    select @@version_comment limit 1
151006 14:21:24 583389 Query    show variables like '%gen%'
151006 14:21:25 583389 Quit
151006 14:43:18 583786 Connect  root@localhost on 
                583786 Query    /*!40100 SET @@SQL_MODE='' */
                583786 Query    /*!40103 SET TIME_ZONE='+00:00' */
                583786 Query    FLUSH /*!40101 LOCAL */ TABLES
151006 14:43:19 583786 Query    FLUSH TABLES WITH READ LOCK
                583786 Query    SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ
                583786 Query    START TRANSACTION /*!40100 WITH CONSISTENT SNAPSHOT */
                583786 Query    SHOW VARIABLES LIKE 'gtid\_mode'
                583786 Query    SHOW MASTER STATUS
                583786 Query    UNLOCK TABLES
                583786 Query    SELECT LOGFILE_GROUP_NAME, FILE_NAME, TOTAL_EXTENTS, INITIAL_SIZE, ENGINE, EXTRA FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'UNDO LOG' AND FILE_NAME IS NOT NULL AND LOGFILE_GROUP_NAME IN (SELECT DISTINCT LOGFILE_GROUP_NAME FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA IN ('testdb'))) GROUP BY LOGFILE_GROUP_NAME, FILE_NAME, ENGINE ORDER BY LOGFILE_GROUP_NAME
                583786 Query    SELECT DISTINCT TABLESPACE_NAME, FILE_NAME, LOGFILE_GROUP_NAME, EXTENT_SIZE, INITIAL_SIZE, ENGINE FROM INFORMATION_SCHEMA.FILES WHERE FILE_TYPE = 'DATAFILE' AND TABLESPACE_NAME IN (SELECT DISTINCT TABLESPACE_NAME FROM INFORMATION_SCHEMA.PARTITIONS WHERE TABLE_SCHEMA IN ('testdb')) ORDER BY TABLESPACE_NAME, LOGFILE_GROUP_NAME
151006 14:43:20 583786 Query    SHOW VARIABLES LIKE 'ndbinfo\_version'
                583786 Init DB  testdb
                583786 Query    SAVEPOINT sp
                583786 Query    show tables
                583786 Query    show table status like 'sys\_config'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `sys_config`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `sys_config`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `sys_aa`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'sys\_config'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_auto\_login'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_auto_login`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_auto_login`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_bb`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_auto\_login'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_fans'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_fans`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_fans`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_cc`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_fans'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_media'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_media`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_media`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_dd`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_media'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_message'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_message`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_message`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_ee`
151006 14:43:23 583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_message'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_qrcode'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_qrcode`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_qrcode`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_ff`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_qrcode'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_ticket'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_ticket`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_ticket`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_gg`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_ticket'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'testdb\_token'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `testdb_token`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `testdb_token`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_hh`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'testdb\_token'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'wexin\_template\_msg'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `wexin_template_msg`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `wexin_template_msg`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `wexin_tem`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'wexin\_template\_msg'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    show table status like 'wexin\_template\_msg\_data'
                583786 Query    SET SQL_QUOTE_SHOW_CREATE=1
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    show create table `wexin_template_msg_data`
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    show fields from `wexin_template_msg_data`
                583786 Query    SELECT /*!40001 SQL_NO_CACHE */ * FROM `testdb_template`
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SHOW TRIGGERS LIKE 'wexin\_template\_msg\_data'
                583786 Query    SET SESSION character_set_results = 'utf8'
                583786 Query    ROLLBACK TO SAVEPOINT sp
                583786 Query    RELEASE SAVEPOINT sp
                583786 Query    show events
                583786 Query    use `testdb`
                583786 Query    select @@collation_database
                583786 Query    SET SESSION character_set_results = 'binary'
                583786 Query    SHOW FUNCTION STATUS WHERE Db = 'testdb'
                583786 Query    SHOW PROCEDURE STATUS WHERE Db = 'testdb'
                583786 Query    SET SESSION character_set_results = 'utf8'
151006 14:43:27 583786 Quit
View Code

相关文章: