Получение ошибки "Регистрация плагина" InnoDB "в качестве НЕПРЕРЫВНОГО ДВИГАТЕЛЯ не удалась" при запуске MySQL

Я нашел много похожих вопросов в Stackoverflow, но не получил точное решение ошибки. Моя проблема заключается в запуске службы MySQL на одном из компьютеров Dedicated Centos 6.5, я получаю сообщение об ошибке:

141018 05:13:46 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
141018  5:13:47 [Warning] Can't create test file /var/lib/mysql/ip-184-168-73-83.lower-test
/usr/libexec/mysqld: Can't create/write to file '/tmp/ibkTWnhE' (Errcode: 28)
141018  5:13:48  InnoDB: Error: unable to create temporary file; errno: 28
141018  5:13:48 [ERROR] Plugin 'InnoDB' init function returned error.
141018  5:13:48 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
141018  5:13:48 [ERROR] Can't start server : Bind on unix socket: No space left on device
141018  5:13:48 [ERROR] Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?
141018  5:13:48 [ERROR] Aborting

141018  5:13:48 [Note] /usr/libexec/mysqld: Shutdown complete

141018 05:13:48 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended

Вот бесплатный статус команды: free -m

             total       used       free     shared    buffers     cached
Mem:          3743       3631        111          0       2705         21
-/+ buffers/cache:        905       2838
Swap:         2047          0       2047

Ответ 1

У меня те же проблемы, это мое решение:

  • Добавить RAM на сервер

  • Уменьшить значение размера пула innodb-buffer в файле конфигурации /etc/mysql/my.cnf:

    innodb_buffer_pool_size = 10M

После сохранения my.cnf перезапустите службу mysql.

Ответ 2

Это часто происходит. Сделайте следующее -

  • удалите/переместите эти файлы "aria_log_contro, ib_logfile0, ib_logfile1, ib_data1" из местоположения "..\xampp\mysql\data", а также из "..\xampp\mysql\backup".
  • остановить и запустить сервер apache и панель управления xampp формы mysql

Это должно решить проблему; на самом деле это сработало для меня.

Ответ 3

Хотя и поздно, но выкладываю ответ здесь, чтобы помогшее мне решение могло кому-то помочь. Я предпринял следующие шаги:

  1. Добавил больше оперативной памяти, чтобы разорвать
  2. Уменьшите значение размера innodb-buffer-pool
  3. Установить innodb_log_file_size
  4. Перезапустите MySQL

Пример добавления в my.cnf:

innodb_buffer_pool_size = 10M
innodb_log_file_size = 1000M

Ответ 4

Я попал ниже журнала ошибок mysql: -

[Note] Plugin 'FEDERATED' is disabled.
InnoDB: The InnoDB memory heap is disabled
InnoDB: Mutexes and rw_locks use GCC atomic builtins
InnoDB: Compressed tables use zlib 1.2.3
InnoDB: Using Linux native AIO
InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
InnoDB: Completed initialization of buffer pool
InnoDB: Fatal error: cannot allocate memory for the buffer pool
[ERROR] Plugin 'InnoDB' init function returned error.
[ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
[Note] /usr/libexec/mysqld: Shutdown complete

Я обнаружил, что есть два решения: -

1) Установите innodb_log_file_size равным фактическому размеру существующих файлов журнала InnoDB.  Чтобы узнать, какой размер журнала innoDB выделен, войдите в mysql и введите следующий cmd: -

SHOW GLOBAL VARIABLES LIKE 'innodb_log_file_size';

Ожидаемый результат: - 5242880

После этого вставьте это значение в my.cnf: - vi/etc/my.cnf

 innodb_log_file_size =5242880

2) Переименуйте или переместите файлы. /ib _logfile0 и./ib_logfile1, а затем запустите сервер MySQL. Обычно это будет находиться в /var/lib/mysql. После запуска mysql он создает новый файл журнала innoDB и восстанавливает возможные полузаписанные данные из файла .ibd.

Пример примера mysql expexted: -

InnoDB: Database physically writes the file full: wait...
161216  9:58:54  InnoDB: Log file ./ib_logfile1 did not exist: new to be created
InnoDB: Setting log file ./ib_logfile1 size to 5 MB
InnoDB: Database physically writes the file full: wait...
161216  9:58:54 InnoDB: highest supported file format is Barracuda.
InnoDB: The log sequence number in ibdata files does not match
InnoDB: the log sequence number in the ib_logfiles!
161216  9:58:54  InnoDB: Database was not shut down normally!
InnoDB: Starting crash recovery.
InnoDB: Reading tablespace information from the .ibd files...
InnoDB: Restoring possible half-written data pages from the doublewrite
InnoDB: buffer...
161216  9:58:54  InnoDB: Waiting for the background threads to start
161216  9:58:55 InnoDB: 5.5.50 started; log sequence number 1589772
161216  9:58:55 [Note] Server hostname (bind-address): '0.0.0.0'; port: 3306
161216  9:58:55 [Note]   - '0.0.0.0' resolves to '0.0.0.0';
161216  9:58:55 [Note] Server socket created on IP: '0.0.0.0'.
161216  9:58:55 [Note] Event Scheduler: Loaded 0 events
161216  9:58:55 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.50'  socket: '/var/lib/mysql/mysql.sock'  port: 3306  MySQL Community Server (GPL) by Remi

Литература: - ЮСТИН КУЛЕСА (2011). MySQL: Ошибка регистрации InnoDB в качестве механизма хранения. Доступно по адресу: https://spin.atomicobject.com/2011/05/09/mysql-failed-registration-of-innodb-as-a-storage-engine/.

RolandoMySQLDBA (2014). MySQL my.cnf: innodb_log_file_size отсутствует. Доступно по адресу: https://dba.stackexchange.com/info/75688/mysql-my-cnf-innodb-log-file-size-is-missing/158325#158325

Изменение количества или размера файлов журнала повторного использования InnoDB. Доступно по адресу: http://dev.mysql.com/doc/refman/5.7/en/innodb-data-log-reconfiguration.html