SQLinfo.ru - Все о MySQL

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

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

Вы не зашли.

#1 10.06.2010 15:15:31

weec
Участник
Зарегистрирован: 26.11.2009
Сообщений: 10

миграция innodb_tablespace -> innodb_file_per_table

имеем
- хранилище MySQL 5.1.45 на машине с OS FreeBSD 8.0 amd64
- данные хранятся в монолитном  innodb-tablespace

требуется перевести хранилище на пофайловое хранение innodb-таблиц (innodb_file_per_table)
- на живую включаю innodb_file_per_table
- пробегаюсь по всем таблицам / ALTER TABLE t1 ENGINE = InnoDB; / (после процедуры в каталогах баз появляются файлы таблиц *.ibd)

вопрос
как уменьшить размер файла ibdata1 ?

Неактивен

 

#2 10.06.2010 16:22:12

weec
Участник
Зарегистрирован: 26.11.2009
Сообщений: 10

Re: миграция innodb_tablespace -> innodb_file_per_table

вариант
- преобразовать все таблицы в формат MyIsam
- остановить сервер
- удалить файлы ib*
- запустить сервер
- преобразовать все таблицы в формат InnoDB с включеным innodb_file_per_table

помимо этого варианта есть еще какие либо решения?

Неактивен

 

#3 10.06.2010 17:35:54

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: миграция innodb_tablespace -> innodb_file_per_table

Размер ibdata1 уменьшить никак нельзя. Или сконвертировать всё, или сделать
текстовый дамп, а потом восстановить его, предварительно удалив tablespace.

Неактивен

 

Board footer

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