MySQL InnoDB 插件默认引擎类型不接受配置设置
我有一个奇怪的 MySQL InnoDB 问题,我已经为此苦苦挣扎了几个小时。我在这里问这个问题,也在 DBA StackExchange 上问这个问题 - 当得到答复时,我会将答案交叉发布到其他站点。
我启用了 InnoDB 插件作为内置版本的替代品,并且设置 innodb_file_format
和 innodb_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
I have a strange MySQL InnoDB issue that I've been struggling with for a few hours now. I'm asking this here, and also on the DBA StackExchange - I will cross-post the answer to the other site when answered.
I have enabled the InnoDB plugin as a replacement for the built-in version, and setting the innodb_file_format
and innodb_file_per_table
are not having the required effect. The MySQL status variables still show Anaconda
as the default engine.
Any suggestions would be gratefully received!
Relevant section of my.cnf settings
The settings below do not exist elsewhere in the config overriding these options.
innodb_file_per_table = 1
innodb_file_format = Barracuda
innodb_strict_mode = 1
Relevant entries in SHOW VARIABLES
This is how I know that Barracuda is available
| innodb_file_format | Antelope |
| innodb_file_format_check | Barracuda |
| innodb_file_per_table | OFF |
| innodb_strict_mode | OFF |
| innodb_version | 1.0.9 |
Section of MySQL Log
The log is also showing that Barracuda is available...
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我终于找到了答案,而且它一直[毫不奇怪]地盯着我……
我从一位早期的管理员那里继承了这个系统,他在
my.cnf
文件将所有 InnoDB 特定参数放在 [innodb] 标题下,而不是应在的 [mysqld] 标题下。为什么要花这么长时间才能找到?首先假设配置工作正常。 [拍头]...
不正确的文件段
正确的文件段
现在一切都按预期进行。
I have finally found the answer, and it was [unsurprisingly] staring me in the face the whole time...
I had inherited the system from an earlier admin, who had made a mistake in the
my.cnf
file putting all the InnoDB specific parameters under a [innodb] heading, instead of under the [mysqld] heading where it should be.Why did this take so long to locate? It was assumed that the config was working correctly in the first place. [slaps head]...
Incorrect file segment
Correct file segment
And now everything works as intended.