在MySQL数据库中,我们需要根据数据库的状态调整一些系统参数,下面为您介绍的是MySQL表锁情况和文件打开数的调整方法,供您参考。
文件打开数(open_files)
mysql>showglobalstatuslike'open_files'; +---------------+-------+ |Variable_name|Value| +---------------+-------+ |Open_files|1410| +---------------+-------+ mysql>showvariableslike'open_files_limit'; +------------------+-------+ |Variable_name|Value| +------------------+-------+ |open_files_limit|4590| +------------------+-------+ 比较合适的设置:Open_files/open_files_limit*100%
MySQL表锁情况
mysql>showglobalstatuslike'table_locks%'; +-----------------------+-----------+ |Variable_name|Value| +-----------------------+-----------+ |Table_locks_immediate|490206328| |Table_locks_waited|2084912| +-----------------------+-----------+
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就足够了。
【编辑推荐】
MySQL查询缓存变量
MySQL慢查询的启用方法
Mysql多表查询的实现
MySQL创建函数问题的处理方法
MySQL存储过程和数据库的联系