MySQL表锁情况和文件打开数


  本文标签:MySQL表锁情况

  在MySQL数据库中,我们需要根据数据库的状态调整一些系统参数,下面为您介绍的是MySQL表锁情况和文件打开数的调整方法,供您参考  。

  文件打开数(open_files)

  1. mysql> show global status like open_files;  
  2. +---------------+-------+  
  3. | Variable_name | Value |  
  4. +---------------+-------+  
  5. | Open_files | 1410 |  
  6. +---------------+-------+  
  7. mysql> show variables like open_files_limit;  
  8. +------------------+-------+  
  9. | Variable_name | Value |  
  10. +------------------+-------+  
  11. | open_files_limit | 4590 |  
  12. +------------------+-------+  
  13. 比较合适的设置:Open_files / open_files_limit * 100%  

  MySQL表锁情况

  1. mysql> show global status like table_locks%;  
  2. +-----------------------+-----------+  
  3. | Variable_name | Value |  
  4. +-----------------------+-----------+  
  5. | Table_locks_immediate | 490206328 |  
  6. | Table_locks_waited | 2084912 |  
  7. +-----------------------+-----------+ 

  Table_locks_immediate表示立即释放MySQL表锁数,Table_locks_waited表示需要等待的MySQL表锁数,如果Table_locks_immediate / Table_locks_waited > 5000,最好采用InnoDB引擎,因为InnoDB是行锁而MyISAM是MySQL表锁,对于高并发写入的应用InnoDB效果会好些  。示例中的服务器Table_locks_immediate / Table_locks_waited = 235,MyISAM就足够了  。