[MySQL FAQ]系列 -- show engine innodb status显示信息不全?

问题:
执行 show engine innodb status\G 时,显示的信息不全,DEADLOCK相关信息太多,后面的都没了

原因:
这是mysql客户端的一个bug:BUG#19825,交互式客户端限制了输出信息最大为 64KB,因此更多的信息无法显示。

解决办法:
解决方法有两种:
1. 启用 innodb_status_file
修改 my.cnf,增加类似下面一行

innodb_status_file = 1

就可以了。
2. 启用 innodb_monitor
mysqld在线运行时,创建 innodb_monitor 表,即可记录相关信息到日志文件

mysql> create table innodb_monitor ( id int ) engine = innodb;

相关的信息就会输出到 .err 日志文件里了。

 

评论

叶老师能不能讲讲什么是mysql缓存碎片以及如何产生的?看到您blog中好多优化方面的文章都提到过这个概念,对此我还不是很理解,十分感谢!

这个连接
http://imysql.cn/node/134

合理的值取决于索引大小、数据量以及负载。深入了这句话所追踪到一个参数如下

Qcache_lowmem_prunes

网上的说法是,如果这个数字在不断增长,就表示可能碎片非常严重,或者内存很少。

说是您文章提到的有些牵强,最近看文档多了有点迷糊。

mysql 支持同一个表里面保存不同语言吗,比如一个news表 有两个字段

lang title
zh 中文 
en english
ko 컬을 볼까
jp ブログホイホイ

这样的表

mysql 支持同一个表里面保存不同语言吗,比如一个news表 有两个字段

lang title
zh 中文 
en english
ko 컬을 볼까
jp ブログホイホイ

这样的表