MySQL InnoDB Plugin默认引擎类型不接受配置设置

时间:2011-10-21 08:37:38

标签: mysql innodb

我有一个奇怪的MySQL InnoDB问题,我现在已经困扰了几个小时了。我在这里问这个问题,也在DBA StackExchange上问这个问题 - 我会在回答时将答案交叉发布到其他网站。

我已启用InnoDB插件作为内置版本的替代品,并且设置innodb_file_formatinnodb_file_per_table没有达到要求的效果。 MySQL状态变量仍然显示Anaconda作为默认引擎。

任何建议都会感激不尽!

my.cnf设置的相关部分

以下设置在配置中的其他地方不存在,会覆盖这些选项。

innodb_file_per_table   = 1
innodb_file_format      = Barracuda
innodb_strict_mode      = 1

SHOW VARIABLES中的相关条目

这就是我知道Barracuda可用的方式

| innodb_file_format              | Antelope               |
| innodb_file_format_check        | Barracuda              |
| innodb_file_per_table           | OFF                    |
| innodb_strict_mode              | OFF                    |
| innodb_version                  | 1.0.9                  |

MySQL日志部分

日志还显示Barracuda可用......

111020 18:10:13 mysqld_safe Starting mysqld daemon with databases from /.../mysql_data/
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
111020 18:10:13  InnoDB: highest supported file format is Barracuda.
111020 18:10:13 InnoDB Plugin 1.0.9 started; log sequence number 5609019
111020 18:10:13 [Note] Event Scheduler: Loaded 0 events
111020 18:10:13 [Note] /.../mysql/libexec/mysqld: ready for connections.
Version: '5.1.48-log'  socket: '/tmp/mysql.sock'  port: 3306  Source distribution

1 个答案:

答案 0 :(得分:1)

我终于找到了答案,并且[不出所料]一直盯着我......

我从早期的管理员那里继承了系统,他在my.cnf文件中犯了一个错误,将所有InnoDB特定参数放在[innodb]标题下,而不是在[mysqld]标题下是

为什么要花这么长时间找到它?假设配置首先正常工作。 [slaps head] ......

文件段不正确

[mysqld]
# Stuff here

[innodb]
# innodb stuff here

更正文件段

[mysqld]
# Stuff here

# innodb stuff here

现在一切正常。