Так, наконец-то меня достали падения по вине MySQL и я заставил себя разобраться в этом.
Журнал MySQL показал следующее:
InnoDB: Error: log file ./ib_logfile0 is of different size 0 5256780 bytes
InnoDB: than specified in the .cnf file 0 1077645824 bytes!
[ERROR] Plugin ‘InnoDB’ init function returned error.
[ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
[ERROR] Unknown/unsupported storage engine: InnoDB
[ERROR] Aborting
Посмотрим, что там с движками (показываю только важные строчки):
mysql> show engines;
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine | Support | Comment | Transactions | XA | Savepoints |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM | YES | MyISAM storage engine | NO | NO | NO |
| InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
+--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
Самое интересное здесь то, что мы не используем InnoDB в нашей БД. Как известно, движок в MySQL указывается на уровне таблицы, поэтому я сразу полез смотреть информацию по таблицам (одной строчки достаточно):
mysql> show table status where engine = 'InnoDB';
+-------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| Name | Engine | Version | Row_format | Rows | Avg_row_length | Data_length | Max_data_length | Index_length | Data_free | Auto_increment | Create_time | Update_time | Check_time | Collation | Checksum | Create_options | Comment |
+-------------------------+--------+---------+------------+------+----------------+-------------+-----------------+--------------+-----------+----------------+---------------------+-------------+------------+-----------------+----------+----------------+---------+
| django_migrations | InnoDB | 10 | Compact | 29 | 564 | 16384 | 0 | 0 | 8388608 | 30 | 2015-10-05 18:02:39 | NULL | NULL | utf8_unicode_ci | NULL | | |
Видимо, при обновлении версии MySQL произошло изменение стандартного движка для базы данных. В общем, это не удивительно и уже бывало с кодировками. MySQL лучше знать, что лучше :)
Принудительно меняем движок для всех выявленных таблиц:
mysql> alter table django_migrations engine='MyISAM';
Query OK, 29 rows affected (0.01 sec)
Records: 29 Duplicates: 0 Warnings: 0
И явно прописываем движок по умолчанию в конфигурации сервера баз данных (речь про /etc/mysql/my.cnf
):
[mysqld]
default-storage-engine = myisam
И перезапустил сервер БД. Будем смотреть!
Updated 8 Oct. 2015, 12:11 by RaD.