它是key_buffer还是key_buffer_size?

我在my.cnf文件中search正确的variables的互联网。 有人说, key_buffer_size已经被弃用了,但有人说key_buffer_size中的key_buffer_size是正确的variables。

那么,这里真正的variables是什么? 是key_buffer还是key_buffer_size

我使用Ubuntu 12.04。

我也有my.cnf文件中的两个key_buffervariables。 这是我安装MySQL后得到的。

第一个位于这个下面:

 [mysqld] key_buffer = 16M 

另一个位于这个下面:

 [isamchk] key_buffer = 16M 

    我不认为key_buffer_size已经被弃用,mysql在他们网站上的文档中使用key_buffer_size从最早的版本到最新的版本 。 还有一个错误报告 ,请求不推荐使用的variables在启动时会发出警告,这表明它是不推荐使用的key_buffer

    我个人会认为它应该是权威的文件,而互联网充满了有用的信息,它也充满了错误的信息。


    话虽如此,看起来像mysql离开了它的方式来匹配你提供给它的variables的variables名,只要你提供的名称是唯一的

    随着key_buffer_size = 16米

     mysql> show variables like '%key_buffer%'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | key_buffer_size | 16777216 | +-----------------+----------+ 1 row in set (0.00 sec) 

    改为key_buffer = 6m

     mysql> show variables like '%key_buffer%'; +-----------------+---------+ | Variable_name | Value | +-----------------+---------+ | key_buffer_size | 6291456 | +-----------------+---------+ 1 row in set (0.00 sec) 

    改为key_b = 16m

     mysql> show variables like '%key_buffer%'; +-----------------+----------+ | Variable_name | Value | +-----------------+----------+ | key_buffer_size | 16777216 | +-----------------+----------+ 1 row in set (0.00 sec) 

    更改为key_ = 16m,因为key_不唯一,所以mysql无法启动。