powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос таблиц с MyISAM на InnoDb
25 сообщений из 25, страница 1 из 1
Перенос таблиц с MyISAM на InnoDb
    #38942087
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день
Встал вопрос бэкапа без остановки работы клиентских приложений (сейчас приходится сервер приложения останавливать на время бэкапа, т.к. есть таблицы MyISAM) и т.к. таблиц MyISAM всего восемь решил их сделать InnoDB. Сейчас насколько быстрее MyISAM по сравнению с InnoDB, с учетом что база лежит на быстром массиве SSD.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942100
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarСейчас насколько быстрее MyISAM по сравнению с InnoDBЗависит от того, что вы с этими таблицами делаете. С хорошей вероятностью InnoDB будет быстрее.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942354
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarДобрый день
Встал вопрос бэкапа без остановки работы клиентских приложений (сейчас приходится сервер приложения останавливать на время бэкапа, т.к. есть таблицы MyISAM) и т.к. таблиц MyISAM всего восемь решил их сделать InnoDB. Сейчас насколько быстрее MyISAM по сравнению с InnoDB, с учетом что база лежит на быстром массиве SSD.

Так вопрос-то в чём ?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942637
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv, сделать бэкап не отключая клиентские приложения, т.к. MyISAM не поддерживает транзакции, то в бэкапе получишь в этих таблицах мусор или клиентское приложение словит ошибку из-за блокировки таблицы. Могу ошибаться,я с MySQL не особо плотно работаю, в Firebird такого мракобесия нет
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942762
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarMasterZiv, сделать бэкап не отключая клиентские приложения, т.к. MyISAM не поддерживает транзакции, то в бэкапе получишь в этих таблицах мусор или клиентское приложение словит ошибку из-за блокировки таблицы. Могу ошибаться,я с MySQL не особо плотно работаю, в Firebird такого мракобесия нет

Ещё раз.
В чём твой вопрос ?

Нужен бэкап -- переходи на InnoDB, в чём проблема ?
Не нужен -- не переходи.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942765
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,насколько InnoDb уступает в скорости MyISAM или сейчас можно об этой разнице забыть?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38942806
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarMasterZiv,насколько InnoDb уступает в скорости MyISAM или сейчас можно об этой разнице забыть?

Я не знаю, на сколько уступает.
Потому что -- ещё раз -- я с MyISAM не работаю. Но думаю ты легко найдёшь такие данные в сети.
ПОЧЕМУ я не работаю с MyISAM ? Потому что MySQL+InnoDB -- это хоть и плохонькая, но СУБД.
MySQL+MyISAM -- это хрень какая-то, что угодно, но не СУБД.

Поэтому у тебя в общем выбор такой: хочешь работать с базой данных -- используй InnoDB. Не хочешь работать с базой данных --
MyISAM.


Теперь немного не лирики, а физики.
"насколько InnoDb уступает в скорости MyISAM" -- это значит, что ты помериишь скорости разных операций там и там, и
их сравнишь. Операций в СУБД есть в основом две -- чтение и запись.

По чтению MyISAM и InnoDB одинаковые, что там читать, что там -- какая разница ? Но InnoDB имеет кэш данных, а MyISAM кэширует только индексы (что уже само по себе безумная идея, ибо две основных технологии для БД -- это кэширование и индексирование).

По записи MyISAM и InnoDB разные принципиально, в InnoDB есть ACID-транзакции, что и делает её нормальной СУБД, а значит, есть журнал и физическая запись в него, это теоретически медленнее (и на практике медленнее). Но зато есть кэш данных, который можно на диск вообще не писать, если есть место в памяти, а в MyISAM его вообще нет, и надо писать теоретически на диск. Так что вопрос очень сложный, на практике можно сказать, что Inno на записи где-то на процентов 30 медленнее (лучше поискать данные тестов, они наверняка есть).
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38943026
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А изменение в онлайне рабочей таблицы (записей уже несколько тысяч) типа MyISAM в тип InnoDB как-то скажется на самих данных или структуре?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38943126
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
meolaА изменение в онлайне рабочей таблицы (записей уже несколько тысяч) типа MyISAM в тип InnoDB как-то скажется на самих данных или структуре?

конечно, данные будут переписаны из старого места (файл таблицы myisam) в новое место (файл базы данных innodb, один на все таблицы как правило), эта операция требует монопольный доступ к таблице. на какое то время таблица будет заблокирована.

несколько тысяч записей - это немного.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38945015
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MasterZivmeolaА изменение в онлайне рабочей таблицы (записей уже несколько тысяч) типа MyISAM в тип InnoDB как-то скажется на самих данных или структуре?

конечно, данные будут переписаны из старого места (файл таблицы myisam) в новое место (файл базы данных innodb, один на все таблицы как правило), эта операция требует монопольный доступ к таблице. на какое то время таблица будет заблокирована.

несколько тысяч записей - это немного.Thanks you!
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38945016
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А чем-нибудь опасно отключение света в момент изменения MyISAM в InnoDB? База данных упадет?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38945038
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
meolaА чем-нибудь опасно отключение света в момент изменения MyISAM в InnoDB? База данных упадет?Да так же, как и пропадание ляктричества в любой другой момент при записи на диск - как повезёт. А как Вы планируете делать изменение типа движка?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38945055
meola
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
vklemeolaА чем-нибудь опасно отключение света в момент изменения MyISAM в InnoDB? База данных упадет?Да так же, как и пропадание ляктричества в любой другой момент при записи на диск - как повезёт. А как Вы планируете делать изменение типа движка?Через alter table, вместо engine=MyISAM укажу engine=InnoDB. Или такой способ не есть гут?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38945132
vkle
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да нормальный способ. Можно сделать дамп и залить его в новую таблицу, переименовав или удалив старую. В любом случае, бекапы, как страховку от всяческих неожиданностей, никто не отменял.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977064
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ещё такой момент - задал вопрос на форум по софту - народ сразу замахал руками, что конвертить MyISAM в Inno нельзя,вроде как код другой,писался именно для таблиц без транзакционности.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977066
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarЕщё такой момент - задал вопрос на форум по софту - народ сразу замахал руками, что конвертить MyISAM в Inno нельзя,вроде как код другой,писался именно для таблиц без транзакционности.Для этого существует автокоммит, включенный по умолчанию.
Но да, если вы что-то некорректно делаете с транзакциями, то это может привести к ошибкам при переходе на InnoDB. Но вероятность этого я вижу ничтожной.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977080
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм,автокоммит точно включать не хочется.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977082
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarХм,автокоммит точно включать не хочется.Он уже включен изначально.
Да и, собственно, почему?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977085
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoft,подумал ещё раз и решил,что наверно зря боюсь. Я же с MyISAM перехожу на Inno, а не наоборот
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977103
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
сделайте дамп (или возьмите последний). В блокноте!!! измените MyIsam на InnoDB
Разверните локальный сервер. Залейте данные на локальный сервер. Экпериментируйте.
записей уже несколько тысяч - это НИЧТОжно мало, чтобы беспокоиться.
Пройдитесь по форуму по поводу настроек для InnoDB, примите для себя необходимые. Экпериментируйте.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977411
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar Сейчас насколько быстрее MyISAM по сравнению с InnoDB, с учетом что база лежит на быстром массиве SSD.

На 1000.
Ещё вопросы есть ?
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977413
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MasterZiv,нет. Написал в ТП софта о возможности перехода на Innodb, жду ответа
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977763
Фотография alexnews
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поправьте если я не прав, но MySQL с MyISAM легко делает бэкапы так как все таблицы лежат отдельно и я много раз сталкивался что можно только скопировать файловую систему из /var/lib/mysql и ты уже готов к работе на другом сервере. (место для закидывания помидорами). В InnoDB это не прокатывало так как все хранилось до последней версии в одном файле. Так вот вопрос: кто-нибудь уже разворачивал 5.7 с настройками для InnoDB сохранять в разных файлах и какова возможность копирования бэкапа файликами из файловой системы в новой версии MySQL? То есть без остановки приложения как спрашивал Gallemar в первом посте.
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38977797
tanglir
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexnewsВ InnoDB это не прокатывало так как все хранилось до последней версии в одном файле.innodb_file_per_table? Не, не ...
alexnewsместо для закидывания помидорамину ты понял...
...
Рейтинг: 0 / 0
Перенос таблиц с MyISAM на InnoDb
    #38978042
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[quot alexnews]Поправьте если я не прав,

ты неправ.

но MySQL с MyISAM легко делает бэкапы так как все таблицы лежат отдельно и я много раз сталкивался что можно только скопировать файловую систему из /var/lib/mysql и ты уже готов к работе на другом сервере.

это ты имеешь в виду так называемый "холодный бэкап" , который вообще не бэкап, а на самом деле просто способ переноса данных бызы.

остановил бд, файлы не пишутся, перенес файла и конфиг в новое место, если что, немного поправил конфиг - и бд заработает на новом месте, если ее там запустить.

это работает вообще со всеми субд, главное, чтобы там были файлы бд доступны. Но бд при этом нужно останавливать.




В InnoDB это не прокатывало так как все хранилось до последней версии в одном файле.

ну и что, меньше файлов кровь, даже удобнее... Работает это и в inno, ровно таким же макаром.

Так вот вопрос: кто-нибудь уже разворачивал 5.7 с настройками для InnoDB сохранять в разных файлах и какова возможность копирования бэкапа файликами из файловой системы в новой версии MySQL?

ровно точно такая же.


То есть без остановки приложения как спрашивал Gallemar в первом посте.


еще раз, останавливать бд при этом НАДО ОБЯЗАТЕЛЬНО.

А вот автор говорил о бэкапе через mysqldump. Вот с ним как раз на myIsam нужно деятельность пользователей останавливать, потому что нет транзакций там, а на InnoDb, где есть транзакции, и snapshot isolation, этого делать не нужно, mysqldump начинает транзакцию, сливает базу, и получает консистентный дамп на время начала бэкапа.
при этом работающая бд дампу не помешает.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Перенос таблиц с MyISAM на InnoDb
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]