измените механизм хранения mysql по умолчанию в Ubuntu

#mysql

#mysql

Вопрос:

Я установил mysql 5.1.49 в Ubuntu. Я добавил следующую строку в конец /etc/mysql/my.cnf

 default-storage-engine=innodb
  

Я перезапустил mysqld процесс, затем запустил

 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         |
 ------------ --------- ---------------------------------------------------------------- -------------- ------ ------------ 
  

Как вы можете видеть, MyISAM по-прежнему используется по умолчанию, чего мне не хватает? Я также запустил

 sudo find / -name 'my.cnf'
  

чтобы убедиться, что в системе нет других my.cnf файлов

Комментарии:

1. Эмм… Я в замешательстве. Вы отредактировали my.cnf , но также подтвердили, что в вашей системе его нет my.cnf ? Он исчез?

2. извините, это была опечатка, исправлена сейчас

Ответ №1:

Вероятно, это в неправильном разделе файла my.cnf.

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

Ответ №2:

Убедитесь, что вы вставили default-storage-engine=innodb в соответствующий [group] , обычно [mysqld] .