За последние 24 часа нас посетили 20249 программистов и 1705 роботов. Сейчас ищут 1262 программиста ...

Дампы - перенос между серверами и версиями

Тема в разделе "PHP и базы данных", создана пользователем Psih, 15 янв 2008.

  1. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Все вы знаете что у меня трекер есть свой. Так вот, у торрентов есть такой info_hash - в базе это BLOB поле.
    Делаю дамп вот такой командой
    Код (Text):
    1. mysqldump -u root -ppassword --databases database --result-file=database.sql
    Потом этот фаил пережимаю bzip2 и отправляю в папку нужную для хранения.
    сама таблица
    [sql]
    CREATE TABLE `torrents` (
    `id` int(10) unsigned NOT NULL auto_increment,
    `info_hash` varchar(20) character set cp1251 collate cp1251_bin NOT NULL default '',
    `name` text NOT NULL,
    `filename` varchar(255) NOT NULL default '',
    `save_as` varchar(255) NOT NULL default '',
    `search_text` text NOT NULL,
    `descr` text NOT NULL,
    `ori_descr` text NOT NULL,
    `category` int(10) unsigned NOT NULL default '0',
    `size` bigint(20) unsigned NOT NULL default '0',
    `added` datetime NOT NULL default '0000-00-00 00:00:00',
    `type` enum('single','multi') NOT NULL default 'single',
    `numfiles` int(10) unsigned NOT NULL default '0',
    `comments` int(10) unsigned NOT NULL default '0',
    `views` int(10) unsigned NOT NULL default '0',
    `hits` int(10) unsigned NOT NULL default '0',
    `times_completed` int(10) unsigned NOT NULL default '0',
    `leechers` int(10) unsigned NOT NULL default '0',
    `seeders` int(10) unsigned NOT NULL default '0',
    `last_action` datetime NOT NULL default '0000-00-00 00:00:00',
    `last_active` varchar(15) NOT NULL default '',
    `visible` enum('yes','no') NOT NULL default 'yes',
    `banned` enum('yes','no') NOT NULL default 'no',
    `owner` int(10) unsigned NOT NULL default '0',
    `numratings` int(10) unsigned NOT NULL default '0',
    `ratingsum` int(10) unsigned NOT NULL default '0',
    `nfo` text,
    `url` varchar(55) default NULL,
    `req` int(5) unsigned default NULL,
    `waittime` enum('yes','no') NOT NULL default 'yes',
    `redirect` varchar(255) default NULL,
    `newhash` varchar(20) character set cp1251 collate cp1251_bin NOT NULL default '',
    `uinfo_hash` varchar(20) character set cp1251 collate cp1251_bin default NULL,
    `release` text NOT NULL,
    `orig_release` text NOT NULL,
    `album` text NOT NULL,
    `genre` varchar(20) NOT NULL default '--',
    `hours` char(2) NOT NULL default '--',
    `minutes` char(2) NOT NULL default '--',
    `year` varchar(4) NOT NULL default '--',
    `qual` varchar(20) NOT NULL default '--',
    `format` varchar(10) NOT NULL default '--',
    `vidw` char(3) NOT NULL default '',
    `vidh` char(3) NOT NULL default '',
    `translate` varchar(15) NOT NULL default '--',
    `protect` varchar(10) NOT NULL default '--',
    `cds` varchar(5) NOT NULL default '--',
    `lang` varchar(25) NOT NULL default '--',
    `copyright` text NOT NULL,
    `codec` char(3) NOT NULL default '--',
    `channels` varchar(11) NOT NULL default '--',
    `kbps` char(3) NOT NULL default '--',
    `shareware` varchar(8) NOT NULL default '--',
    `deleted` int(1) unsigned NOT NULL default '0',
    `spisok` int(2) NOT NULL default '1',
    PRIMARY KEY (`id`),
    UNIQUE KEY `info_hash` (`info_hash`),
    KEY `owner` (`owner`),
    KEY `visible` (`visible`),
    KEY `category_visible` (`category`,`visible`),
    KEY `detele_index` USING BTREE (`deleted`),
    FULLTEXT KEY `ft_search` (`name`,`search_text`,`ori_descr`)
    ) ENGINE=MyISAM AUTO_INCREMENT=29188 DEFAULT CHARSET=cp1251[/sql]
    В скриптах везде стоит
    PHP:
    1. <?php
    2. mysql_query("SET `character_set_results`='cp1251'")or die(mysql_error());
    3. mysql_query("SET `character_set_client`='cp1251'") or die(mysql_error());
    4. mysql_query("SET `character_set_connection`='cp1251'") or die(mysql_error());
    5.  
    Но когда я переношу данные на другой сервер и на 5-ю версию MySQL у меня все эти хеши слетают. Часть торрентов больше не находится по этим хешам. Может мне надо как-то правильно сделать дамп? Может полностью всё сдампить в UTF-8 и потом в новую базу загнать уже в UTF-8? Вообщем вот такая хрень.
     
  2. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    об этом блобе идёт речь? :)
     
  3. Psih

    Psih Активный пользователь
    Команда форума Модератор

    С нами с:
    28 дек 2006
    Сообщения:
    2.678
    Симпатии:
    6
    Адрес:
    Рига, Латвия
    Ошибсо я...
     
  4. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  5. dark-demon

    dark-demon Активный пользователь

    С нами с:
    16 фев 2007
    Сообщения:
    1.920
    Симпатии:
    1
    Адрес:
    леноград
    и никакую ошибку при этом не выдаёт?
    ну, покажи, чтоли кусок дампа :)