InnoDB 选项导致 mysql 启动和 mysql 调优崩溃

InnoDB 选项导致 mysql 启动和 mysql 调优崩溃

我在 ESXi 平台上运行的 Ubuntu 10.10 服务器上有一个 innodb。我有 8 个专用 CPU、32 GB 的 RAM 和存储在 SAS 10k rpm 磁盘的 Raid 5 HP SAN 中的文件。我期待快速查询!但是:select count('x') 需要 45 秒才能处理 7500 万行!因此,我深入研究了如何调整这个庞然大物:

1) 我的某些设置导致 mysql 崩溃,出现“未知变量”错误。这些是:

innodb_file_format = barracuda
innodb_read_io_threads = 6
innodb_write_io_threads = 6
innodb_io_capacity = 1000

2)我的其余设置不会导致 mysql 崩溃,但可能未进行优化。

skip_name_resolve
default_storage_engine = InnoDB
innodb_file_per_table = 1
innodb_buffer_pool_size = 24G
innodb_log_files_size = 1G
innodb_log_buffer_size = 8M
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_comit = 1

key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 192K
thread_cache_size = 32
query_cache_limit = 1M
query_cache_size = 0

您是否建议对这些设置进行其他调整?我遗漏了其他设置吗?

感谢您的支持!

答案1

innodb_file_format = barracuda
innodb_read_io_threads = 6
innodb_write_io_threads = 6
innodb_io_capacity = 1000

这些设置是 MySQL 5.5 特有的。如果您使用 MySQL 5.5 处理在 MySQL 5.0/5.1 中写入的数据,则需要运行旧版本的 MySQL,mysqldump 所有内容,然后重新将数据加载到 mysql 中。barracuda 格式是另一种 InnoDB 文件格式。您必须从以前版本的 MySQL 和 InnoDB 中迁移出来。我之前写过一些关于这个的东西

要仔细检查文件格式,请执行“SHOW VARIABLES LIKE 'innodb_file_format';”。您应该会看到 Antelope。


一旦你解决了这个问题,就可以把其他变量调到这个

innodb_read_io_threads = 64
innodb_write_io_threads = 64
innodb_io_capacity = 20000

毕竟你有 8 个 CPU。


MyISAM 调优选项
InnoDB 调优选项
InnoDB 特定调整
InnoDB 和 MyISAM 缓存配置预测

相关内容