innodb_buffer_pool_size 没有改变

alf*_*ish 4 mysql innodb my.cnf mysql-5.5

我使用 MySQL 5.5.23-1~dotdeb.0 (Debian),这里是 my.cnf 的相关部分

default-storage-engine = innodb
innodb_buffer_pool_size = 3G
innodb_log_file_size = 256M
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 4M
innodb_additional_mem_pool_size = 20M
Run Code Online (Sandbox Code Playgroud)

问题是,无论我为 innodb_buffer_pool_size 选择什么值(我也尝试过 4G 和 8G 以及 8000M)。我得到以下内容mysql> SHOW global VARIABLES;

| innodb_buffer_pool_size | 134217728  
Run Code Online (Sandbox Code Playgroud)

调优入门脚本的结果:

INNODB STATUS
Current InnoDB index space = 621 M
Current InnoDB data space = 3.82 G
Current InnoDB buffer pool free = 0 %
Current innodb_buffer_pool_size = 128 M
Depending on how much space your innodb indexes take up it may be safe
to increase this value to up to 2 / 3 of total system memory 
Run Code Online (Sandbox Code Playgroud)

我很欣赏你的提示来解决这个问题。

alf*_*ish 5

好的,感谢这个答案,我发现我需要将配置 WITHIN [mysqld] 块放在 my.cnf 中才能生效。

我的错误是我只是在 my.cnf 文件的末尾附加了命令。

然后在mysql重启时我遇到了

InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes
Run Code Online (Sandbox Code Playgroud)

为了解决这个错误,我需要删除日志

rm -f /var/lib/mysql/ib_logfile[01]

并按照 Rolando 在这里所说的重新启动。