我在 Linux 2.6.9 x86_64 GNU/Linux, 16G 内存的操作系统上用源码安装MySQL4.0.16,执行步骤如下:
1. ./configure --prefix=/home/mysql/mysql
2. make
3. make install
在 my.cnf中我设置 innodb_pool_buffer_size = 8G,但当我用命令"show variables like 'innodb_buffer_pool_size';时,结果为4G:
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| innodb_buffer_pool_size | 4093640704 |
+-------------------------+------------+ 然后我在my.cnf中将 innodb_pool_buffer_size 修改为 5G,上面的结果变为:
+-------------------------+------------+
| Variable_name           | Value      |
+-------------------------+------------+
| innodb_buffer_pool_size | 1996488704 |
+-------------------------+------------+ 不知道为什么?请高手指教!!

解决方案 »

  1.   

    http://dev.mysql.com/doc/refman/4.1/en/innodb-parameters.htmlinnodb_buffer_pool_size的最大值只能设定到物理内存的80%,
    依照你的系统,设定应该没有问题。问题是你执行的命令,“show variables”等同于“SHOW SESSION VARIABLES”
    也就是你目前的连接的数值状态。
    试一试 SHOW GLOBAL VARIABLES LIKE 'innodb_buffer_pool_size '看有没有变化
      

  2.   

    It depends on your memory size and OS type.
      

  3.   

    mysql就是这样的啊,你看高版本有没有变化的啊