Percona MySQL查看沒有訪問的表

要找到實例裏面某個表是否有訪問,確實是比較難搞。 mysql

經常使用方法就是 開tcpdump或tshark持續抓包過濾懷疑的表名。 sql


可是,若是咱們用的是Percona分支的MySQL,這件事就變得簡單多了。socket


Percona MySQL 下,咱們能夠打開userstat參數,經過查詢系通通計表來獲取用戶、客戶端和庫表訪問狀況,注意:該功能只在MySQL的 Percona 發行版有效,社區版不帶這個功能。tcp


(none) > status
--------------
mysql  Ver 14.14 Distrib 5.6.38-83.0, for Linux (x86_64) using  6.2
Connection id:1222143
Current database:
Current user:root@localhost
SSL:Not in use
Current pager:stdout
Using outfile:'/root/audit.log'
Using delimiter:;
Server version:5.6.38-83.0-log Percona Server (GPL), Release 83.0, Revision dc97471bd40
Protocol version:10
Connection:Localhost via UNIX socket
Server characterset:utf8
Db     characterset:utf8
Client characterset:utf8
Conn.  characterset:utf8
UNIX socket:/tmp/mysql.sock
Uptime:110 days 8 hours 34 min 25 sec
Threads: 32  Questions: 1074250447  Slow queries: 1474  Opens: 136  Flush tables: 1  Open tables: 129  Queries per second avg: 112.665
--------------


(none) > use INFORMATION_SCHEMA


(INFORMATION_SCHEMA) > show tables like '%_STATISTICS';
+---------------------------------------------+
| Tables_in_information_schema (%_STATISTICS) |
+---------------------------------------------+
| CLIENT_STATISTICS                   |
| INDEX_STATISTICS                   |
| TABLE_STATISTICS                   |
| THREAD_STATISTICS                   |
| USER_STATISTICS                   |
+---------------------------------------------+



5 rows in set (0.00 sec)


set global userstat=ON;


select * from INFORMATION_SCHEMA.CLIENT_STATISTICS;
select * from INFORMATION_SCHEMA.INDEX_STATISTICS;
select * from INFORMATION_SCHEMA.TABLE_STATISTICS;
select * from INFORMATION_SCHEMA.THREAD_STATISTICS;
select * from INFORMATION_SCHEMA.USER_STATISTICS;


若是要清理統計信息,能夠使用下面的這幾個命令:ide

FLUSH CLIENT_STATISTICS  ;
FLUSH INDEX_STATISTICS   ;
FLUSH TABLE_STATISTICS   ;
FLUSH THREAD_STATISTICS  ;
FLUSH USER_STATISTICS    ;
相關文章
相關標籤/搜索