表高速缓存

  show global status like 'open%tables%';查看打开的表的数量:

  

MySQL 缓冲区溢出解决办法 mysql高速缓存_缓存

      

  open_tables:是当前在缓存中打开表的数量。


  opened_tables:是mysql自启动起,打开表的数量。


 


  当Opened_tables数值非常大,说明cache太小,导致要频繁地open table,可以查看下当前的table_open_cache设置:


  show variables like 'table_open_cache';  查看缓存的上限值


  

MySQL 缓冲区溢出解决办法 mysql高速缓存_4G_02

  设置table_open_cache的值有两种方式(如果是4G左右内存的服务器,建议设为2048):

    1.临时设置,重启服务后将失效

      set global table_open_cache=2048;

    2.修改数据库配置文件

      在/etc/my.cnf 文件的[mysqld]下增减一行:table_open_cache = 2048