mysql> show global status like 'open%tables%';
Opened_tables数值大,说明cache太小,导致要频繁地open table,可以查看下当前的table_open_cache设置
2.查看 table_open_cache 量
mysql 的两个全局变量(打开表的缓存数量,表定义缓存数量)的设置值过小,而你的数据库表数量较多的情况。
1、打开表的缓存数量(table_open_cache)查询sql:
SHOW VARIABLES LIKE '%table_open_cache%';
2、表定义缓存数量(table_definition_cache) 查询sql :
SHOW VARIABLES LIKE '%table_definition_cache%';
此原因是因为
mysql 的变量值设置不合理引起的。需要调整变量值。
解决问题:
数据库输入
SET GLOBAL table_open_cache=16384;
SET GLOBAL table_definition_cache=16384;