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

发布于 2024-12-10 21:17:31 字数 1581 浏览 0 评论 0原文

我有一个奇怪的 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

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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

指尖上的星空 2024-12-17 21:17:31

我终于找到了答案,而且它一直[毫不奇怪]地盯着我……

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

为什么要花这么长时间才能找到?首先假设配置工作正常。 [拍头]...

不正确的文件段

[mysqld]
# Stuff here

[innodb]
# innodb stuff here

正确的文件段

[mysqld]
# Stuff here

# innodb stuff here

现在一切都按预期进行。

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

[mysqld]
# Stuff here

[innodb]
# innodb stuff here

Correct file segment

[mysqld]
# Stuff here

# innodb stuff here

And now everything works as intended.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文