Назад | Перейти на главную страницу

Не удалось установить innodb в качестве движка по умолчанию в Ubuntu 10.04

У меня проблема с настройкой innodb в качестве движка базы данных по умолчанию в MySQL 5.1 на Ubuntu 10.04. Как только я переключаюсь на innodb в качестве движка по умолчанию, сервер отказывается запускаться. Вот что я получаю в системном журнале, когда пытаюсь запустить MySQL после включения innodb:

Oct  6 21:18:29 artemis init: mysql main process ended, respawning
Oct  6 21:18:58 artemis init: mysql post-start process (5825) terminated with status 1
Oct  6 21:18:59 artemis init: mysql main process (5943) terminated with status 7
Oct  6 21:18:59 artemis init: mysql main process ended, respawning
Oct  6 21:19:28 artemis init: mysql post-start process (5944) terminated with status 1
Oct  6 21:19:29 artemis init: mysql main process (6056) terminated with status 7
Oct  6 21:19:29 artemis init: mysql main process ended, respawning
Oct  6 21:19:58 artemis init: mysql post-start process (6057) terminated with status 1
Oct  6 21:20:00 artemis init: mysql main process (6163) terminated with status 7
Oct  6 21:20:00 artemis init: mysql main process ended, respawning
Oct  6 21:20:28 artemis init: mysql post-start process (6164) terminated with status 1
Oct  6 21:20:30 artemis init: mysql main process (6239) terminated with status 7
Oct  6 21:20:30 artemis init: mysql main process ended, respawning
Oct  6 21:20:59 artemis init: mysql post-start process (6240) terminated with status 1
Oct  6 21:21:00 artemis init: mysql main process (6358) terminated with status 7
Oct  6 21:21:00 artemis init: mysql main process ended, respawning
Oct  6 21:21:29 artemis init: mysql post-start process (6359) terminated with status 1
Oct  6 21:21:30 artemis init: mysql main process (6434) terminated with status 7
Oct  6 21:21:30 artemis init: mysql main process ended, respawning
Oct  6 21:21:59 artemis init: mysql post-start process (6435) terminated with status 1
Oct  6 21:22:01 artemis init: mysql main process (6540) terminated with status 7
Oct  6 21:22:01 artemis init: mysql main process ended, respawning

Пытаясь удалить все мешающие программы, я удалил apparmor и перезагрузился. После выполнения чистой установки, фактического удаления директорий / etc / mysql и / var / lib / mysql, чтобы убедиться, что устаревшие файлы не валяются, сервер запускается нормально с MyIsam в качестве движка по умолчанию. InnoDB входит в число движков, доступных при показе движков:

+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
8 rows in set (0.00 sec)

Конфигурация InnoDB, которую я пробовал и которая добавлена ​​в [mysqld] по умолчанию my.cnf, который поставляется с пакетом mysql-server-5.1, выглядит следующим образом:

# TEST #####################################################

init_connect='SET collation_connection = utf8_general_ci; SET NAMES utf8;'

default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake

max_allowed_packet = 16M

# Network buffer length (I think this is the linux default)
#net_buffer_length = 8K

# Query caching
query_cache_type = 1

# Default table storage engine when creating new tables
# (comment out when running mysql_install_db)
#default_storage_engine=InnoDB
#default_table_type=InnoDB

# Default transaction isolation level, levels available are:
# READ-UNCOMMITTED, READ-COMMITTED, REPEATABLE-READ, SERIALIZABLE
# see: http://dev.mysql.com/doc/refman/5.1/en/set-transaction.html
transaction_isolation = READ-COMMITTED

innodb_data_file_path = ibdata1:50M:autoextend


# TEST #####################################################

Я могу добавить приведенный выше фрагмент без каких-либо проблем, но как только я раскомментирую default_storage_engine = InnoDB или default_table_type = InnoDB, сервер не запустится. После повторного комментирования строк и перезапуска InnoDB отсутствует среди перечисленных движков.

    mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
7 rows in set (0.00 sec)

Что я делаю не так, чего не хватает? Любой намек, который может пролить свет на это, приветствуется.

Ура! // Джон

Устанавливаю сервер MySQL (Ubuntu 10.04):

apt-get install mysql-server

Затем проверьте движок по умолчанию (MyISAM):

mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | YES     | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | DEFAULT | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+

Затем измените /etc/mysql/my.cnf - добавьте default-storage-engine = innodb в раздел mysqld:

[mysqld]
#
# * Basic Settings
#

#
# * IMPORTANT
#   If you make changes to these settings and your system uses apparmor, you may
#   also need to also adjust /etc/apparmor.d/usr.sbin.mysqld.
#

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
skip-external-locking

default-storage-engine  = innodb

Оно работает:

mysql> show engines;
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| Engine     | Support | Comment                                                        | Transactions | XA   | Savepoints |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+
| InnoDB     | DEFAULT | Supports transactions, row-level locking, and foreign keys     | YES          | YES  | YES        |
| MRG_MYISAM | YES     | Collection of identical MyISAM tables                          | NO           | NO   | NO         |
| BLACKHOLE  | YES     | /dev/null storage engine (anything you write to it disappears) | NO           | NO   | NO         |
| CSV        | YES     | CSV storage engine                                             | NO           | NO   | NO         |
| MEMORY     | YES     | Hash based, stored in memory, useful for temporary tables      | NO           | NO   | NO         |
| FEDERATED  | NO      | Federated MySQL storage engine                                 | NULL         | NULL | NULL       |
| ARCHIVE    | YES     | Archive storage engine                                         | NO           | NO   | NO         |
| MyISAM     | YES     | Default engine as of MySQL 3.23 with great performance         | NO           | NO   | NO         |
+------------+---------+----------------------------------------------------------------+--------------+------+------------+