Обратная совместимость дампов.

Jayne

Новичок
Обратная совместимость дампов.

Господа специалисты, на что стоит обратить внимание при создании дампов mysql для полной совместимости с mysql 4.x
Дампы создаются на клиентской стороне, где версия mysql может быть 4.x и выше. При создании структуры дампа, использую SHOW CREATE TABLE. В 5-ке, генерируется примерно следующее:

mysql> SHOW CREATE TABLE `access_group`;

CREATE TABLE `access_group` (
`group_id` int(10) unsigned NOT NULL default '0',
`nodes_id` int(10) unsigned NOT NULL default '0',
`access` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`group_id`,`nodes_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;

В 4-ке к примеру ENGINE=MyISAM DEFAULT CHARSET=cp1251 уже не прокатит.

Может посоветуете что посмотреть/почитать. Может найдутся какие советы...
 

DiMA

php.spb.ru
Команда форума
ну, сделай 2 дампа для разных версий
 

Jayne

Новичок
2DiMA
Зачем делать 2 дампа, если можно сделать 1, который был-бы совместим со всеми версиями mysql, начиня с 4.x?
Splurov
mysqldump - это shell скрипт насколько я знаю. Задача состоит в том, чтобы клиент мог создать бэкап и восстановить (даже если сменит хостинг и случайно изменится версия mysql). Так-же необходима пошаговость, в случае, если база будет слишком большая(что уже собственно реализовано).

P.s. Вопрос состоит не в том, как сделать бэкапы через консоль или phpmyadmin, а на что стоит обратить внимание при создании структуры таблиц для полной совместимости. Возможно есть какие-нибудь SET установки, чтобы SHOW CREATE TABLE выдавала структуры непосредственно для экспорта в mysql 4.x.
 

vovanium

Новичок
Jayne
Может посоветуете что посмотреть/почитать. Может найдутся какие советы...
Как это не странно звучит, но документацию ;) Там вполне нормально написано в какой версии появились те или иные опции.
Возможно есть какие-нибудь SET установки
Для этого есть sql_mode, его как раз и использует mysqldump, но с его помощью не сделаешь дампов которые, полноценно работают на всех версиях, нужно самому при восстановлении корректировать CREATE TABLE
 
Сверху