SQLinfo.ru - Все о MySQL Highload++ 2017

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

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

Вы не зашли.

#1 26.03.2016 00:00:09

Гарник
Участник
Зарегистрирован: 25.03.2016
Сообщений: 7

Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

Доброе время суток товарищи, вопрос от чайника msql..
Поставил значит сайт и все бы хорошо и все работает но ошибка покоя не дает, уверен рано или поздно даст о себе знать.
"Ваша база данных содержит таблицы, использующие формат файла Antelope. Рекомендуется преобразовать эти таблицы в формат файла Barracuda. Подробности об инструменте преобразования таблиц InnoDB в Barracuda смотрите в документации Administration via command line."
Разумеется я ничего не понял, но очень хочется разобраться с ошибкой...
Версия сервера : 5.5.36-34.0-632.precise

Неактивен

 

#2 26.03.2016 14:52:32

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

Re: Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

Насколько я понимаю, это не ошибка MySQL, а рекомендация Moodle. InnoDB поддерживает два формата файлов, при этом оба формата работают хорошо, то есть без причины переделывать формат я бы не стал.

Если же Вы все-таки хотите поменять формат (или у Вас немного данных, тогда смена формата займет совсем не много времени), тогда нужно

1. Включить поддержку barracuda (установить innodb_file_format=barracuda в настройках сервера);
2. Установить значение формата по умолчанию (SET GLOBAL innodb_file_format=barracuda; в консоли, или просто перезапустить MySQL после выполнения п.1);
3. Переделать таблички (ALTER TABLE tablename ROW_FORMAT=DYNAMIC).

Подробнее про все пункты написано в документации: https://dev.mysql.com/doc/refman/5.5/en … ormat.html

Неактивен

 

#3 27.03.2016 14:24:24

Гарник
Участник
Зарегистрирован: 25.03.2016
Сообщений: 7

Re: Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

Спасибо, то что нужно smile

Неактивен

 

#4 30.11.2016 17:02:56

klow
Активист
Зарегистрирован: 06.12.2014
Сообщений: 236

Re: Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

1. Имеет ли смыл переходить на формат barracuda для экономии дискового места, например, при объемах данных 4-5 ГБ в полях типа longblob? Данные сжимаются zip-ом на 50%.
2. Насколько я понял переход не обязательно должен быть через бекап и восстановление?
3. При использовании отдельных файлов для хранения данных (innodb_file_per_table) бекап и восстановление необходим обязательно?

Неактивен

 

#5 01.12.2016 21:39:38

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

Re: Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

1. Поле LONGBLOB ограничено длиной 2^32, поэтому Вы не сможете сохранить туда 5 гигабайт. Более того, я бы сказал, что это плохая идея — хранить большие объекты в базе данных. Если речь идет про суммарный объем всех строк, то уже лучше. Ну и непосредственно ответ на вопрос — barracuda никак не влияет на объем данных. Если хотите сжать данные, то нужно смотреть на компрессию, которая работает независимо от формата. И, если Вы сжимаете данные снаружи зипом, то повторно они уже не сожмутся.

2. Вы правильно поняли.

3. Да, даже при file_per_table можно сделать ALTER и наслаждаться другим форматом smile

Неактивен

 

#6 08.12.2016 21:37:16

klow
Активист
Зарегистрирован: 06.12.2014
Сообщений: 236

Re: Таблицы формат файла Antelope преобразовать в формат файла Barracuda.

1. Имелось ввиду 4-5 ГБ не в одном поле, а во всех полях, всей БД. Данные в БД хранятся без сжатия. Сжатие проверял после сохранения данных в файлах на диске. Согласен, что большие объемы данных нужно хранить отдельно от БД, но так уж получилось. Не ожидал такого объема. Переделывать сейчас нет ресурсов.

Спасибо за ответы!

Отредактированно klow (08.12.2016 21:37:40)

Неактивен

 

Board footer

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