Тип ядра плагина MySQL InnoDB по умолчанию не принимает настройку конфигурации

#mysql #innodb

#mysql #innodb

Вопрос:

У меня странная проблема с MySQL InnoDB, с которой я борюсь уже несколько часов. Я спрашиваю об этом здесь, а также на 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

Вот откуда я знаю, что 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:

Я, наконец, нашел ответ, и это [неудивительно] все время смотрело мне в лицо…

Я унаследовал систему от более раннего администратора, который допустил ошибку в my.cnf файле, поместив все специфические для InnoDB параметры под заголовком [innodb], а не под заголовком [mysqld], где он должен быть.

Почему это заняло так много времени, чтобы найти? Предполагалось, что конфигурация работает правильно в первую очередь. [хлопает по голове]…

Неверный сегмент файла

 [mysqld]
# Stuff here

[innodb]
# innodb stuff here
 

Правильный сегмент файла

 [mysqld]
# Stuff here

# innodb stuff here
 

И теперь все работает так, как задумано.