Изменение типа таблицы с MyISAM на InnoDB - PullRequest
7 голосов
/ 28 июля 2011

Интересно, если я преобразую некоторые таблицы из MyISAM в InnoDB, не вызовет ли это искажения данных?

Мне нужно преобразовать некоторые таблицы в InnoDB, чтобы я мог использовать транзакцию, но они держат оченьважные данные, поэтому я не уверен, должен ли я делать преобразование или нет.

Ответы [ 3 ]

7 голосов
/ 28 июля 2011

Хотя смена ядра базы данных таблицы - это простая и распространенная задача, которая не должна приводить к повреждению, единственный способ гарантировать отсутствие повреждения - это сначала создать собственную резервную копию.

0 голосов
/ 28 июля 2011

MySQL спроектировал его так, чтобы преобразование между типами таблиц было надежным.

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

0 голосов
/ 28 июля 2011

Конечно, всегда есть риск потери данных; но в целом я бы посчитал это довольно низким.

При изменении таблицы MySQL будет работать с временной копией для большинства операций, включая эту. Так что если операция не удастся, это не повредит вашей исходной таблице.

А резервная копия все равно заставит вас чувствовать себя лучше ...

...