SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 15.02.2012 02:14:25

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Переход с MYISAM на INNODB в MYSQL 5.5

Здравствуйте.

В связи с тем что в новой версии MYSQL InnoDB используется по-умолчанию - решил перейти на нее.
Хотелось бы узнать у знатоков на какие параметры обратить внимание при конфигурировании настроек?


Железо:

Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz, 2 cores
2Gb DDR2
диски SATA2

На нем крутится debian 6 (nginx + php-fpm (php 5.3), apc, memcache, mysql 5.5) под кучу Wordpress фотоблогов.

Спасибо.

Неактивен

 

#2 16.02.2012 00:28:49

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

innodb_buffer_pool_size
innodb_flush_log_at_trx_commit
innodb_log_file_size
innodb_flush_method

Подробнее о каждом смотрите http://dev.mysql.com/doc/refman/5.5/en/ … eters.html

Неактивен

 

#3 16.02.2012 02:56:19

LazY
_cмельчак
MySQL Authorized Developer and DBA
Зарегистрирован: 02.04.2007
Сообщений: 849

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Вообще есть мнение, что InnoDB не стоит использовать, если это не является явно необходимым.
InnoDB более ресурсоемкий, чем MyISAM (требует больше места на диске и в памяти), его сложнее обслуживать (если повреждается tablespace - можно потерять вообще все данные, в отличие от MyISAM, где отдельные таблицы хранятся совершенно отдельно друг от друга).

Неактивен

 

#4 17.02.2012 03:02:39

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Переход с MYISAM на INNODB в MYSQL 5.5

А подскажите на всякий пожарный удобный и быстрый способ сконвертировать движок всех моих баз обратно в MYISAM?

Спасибо.

Неактивен

 

#5 17.02.2012 03:22:37

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

alter table `имя таблицы` engine=myisam;

ИМХО, переход для каждой таблицы должен быть осмысленным. Тот же полнотекстовый поиск поддерживается только MyISAM.

Неактивен

 

#6 17.02.2012 10:06:46

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Переход с MYISAM на INNODB в MYSQL 5.5

А может быть возможен скрипт который бы сконвертировал базу целиком (все базы определенного mysql инстанса)?
Как на 5.5 изначально создавать базу на MYISAM, учитывая что InnoDB по-умолчанию?

Неактивен

 

#7 17.02.2012 10:45:29

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Fader написал:

А может быть возможен скрипт который бы сконвертировал базу целиком (все базы определенного mysql инстанса)?

Возможен. Напишите. Получаете список таблиц конкретной базы или всех баз и для каждой указанную ранее команду.

Fader написал:

Как на 5.5 изначально создавать базу на MYISAM, учитывая что InnoDB по-умолчанию?

Механизм хранения относится не к базе, а к конкретной таблице. В рамках одной базы могут быть разные типы таблиц.

InnoDB по-умолчанию означает, что если вы явно не указываете механизм хранения при создании таблицы, то будет создана таблица innodb.

Неактивен

 

#8 17.02.2012 11:19:18

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Переход с MYISAM на INNODB в MYSQL 5.5

А возможно изменить на MYISAM по-умолчанию на 5.5?

Неактивен

 

#9 17.02.2012 11:24:19

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Нет.
А какая разница, что там по-умолчанию? Создавать таблицы без явного указания типа при любом значении по-умолчанию - плохая идея. А ни на что другое это не влияет.

Неактивен

 

#10 17.02.2012 11:32:15

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Ошибся в прошлом ответе.

http://dev.mysql.com/doc/refman/5.5/en/ … tting.html

You can specify the default engine by using the --default-storage-engine server startup option, or by setting the default-storage-engine option in the my.cnf configuration file.

You can set the default storage engine to be used during the current session by setting the default_storage_engine variable:

SET default_storage_engine=MYISAM;

When MySQL is installed on Windows using the MySQL Configuration Wizard, the InnoDB or MyISAM storage engine can be selected as the default.

Неактивен

 

#11 17.02.2012 12:38:39

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Я разворачиваю дампы Wordpress на новом сервере и таблицы по-умолчанию создаются под InnoDB. На прежнем сервере были под MyISAM.

Возможно при создании бэкапов можно указывать тип движка?

Спасибо.

Неактивен

 

#12 17.02.2012 12:47:54

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Fader написал:

Я разворачиваю дампы Wordpress на новом сервере и таблицы по-умолчанию создаются под InnoDB. На прежнем сервере были под MyISAM.

В дампе команда на создание таблицы идет с явным указанием типа, того который был у таблицы во время создания дампа.

Fader написал:

Возможно при создании бэкапов можно указывать тип движка?

Путем правки дампа, например, в текстовом редакторе smile

Неактивен

 

#13 17.02.2012 13:07:29

Fader
Завсегдатай
Зарегистрирован: 07.05.2008
Сообщений: 54

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Ошибся в последнем ПОСТе, не в тот phpmyadmin посмотрел ) Все правильно создается. Спасибо.

Посмотрите скриптик:

$sql = "SHOW TABLES";
    $query = mysql_db_query(DBName, $sql);
    while($row = mysql_fetch_assoc($query))
    {
            mysql_db_query(DBName, "ALTER TABLE `".$row['Tables_in_sportextre']."` ENGINE = InnoDB");
    }


Нормально так конвертировать все таблицы конкретной базы?

Неактивен

 

#14 17.02.2012 13:19:16

vasya
Архат
MySQL Authorized Developer
Откуда: Орел
Зарегистрирован: 07.03.2007
Сообщений: 5842

Re: Переход с MYISAM на INNODB в MYSQL 5.5

Только пока база совсем конкретная smile А конкретней - sportextre

Практика - критерий истины.

Неактивен

 

#15 19.02.2012 12:23:38

evgeny
Гуру
Зарегистрирован: 04.05.2009
Сообщений: 335

Re: Переход с MYISAM на INNODB в MYSQL 5.5

LazY написал:

(требует больше места на диске и в памяти)

LazY, если не трудно направь на источник где говорится о большем расходе памяти в InnoDB.

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson