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)
我很欣赏你的提示来解决这个问题。
好的,感谢这个答案,我发现我需要将配置 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 在这里所说的重新启动。