Установка Текдок оригинального
Выкачиваем архивы с базой, картинками и PDF из FTP. Доступ к FTP для каждой версии меняется поэтому надо уточнять.
Содержание
Распаковка и установка картинок
Картинки Текдока хранятся в нескольких папках, нумеруемых с 1 до 45 (по состоянию на 3кв2013). Мы получаем эти картинки в архивах, каждая папка в отдельном архиве.
Для распаковки можно воспользоваться такой командой:
find ./ -name \*.7z -type f -print0 | xargs -0 -I % 7za x %
И желательно это выполнять в screen, так как процесс достаточно долгий. (На новых серверах надо будет установить 7za и screen, если они не установлены)
Распакованные картинки лучше расположить в папке /var/tecdoc/tecdoc_1303/images (это для 3кв2013) и далее создавать символическую ссылку на эту папку для новых проектов в imgbank/tcd
Распаковка и установка PDF
PDF мы получаем в одном архиве разбитом на несколько частей по 1Гб. Распаковывать обычным способом, например:
7za x tecdoc.2013.3q.pdf.7z.001
Далее надо переместить эти файлы в /var/tecdoc/tecdoc_1303/images/pdf (это для 3кв2013)
Распаковка и установка базы
Так как в пример привожу Текдок 3кв2013, то все названия будут идти для этого квартала, для следующих надо использовать соответствующие названия. Все действия проводить под пользователем root, база открывается под пользователем проекта только с правами select.
Итак, создаем базу tecdoc_1303 сравнение utf8_general_ci. Для упрощения дальнейшего переноса таблицы будем использовать типа MyISAM, поэтому создаем их с помощью скрипта tecdoc.2013.3q.full.structure.mysql.myisam.sql, который мы получаем с FTP.
Далее распаковываем все скрипты по всем таблицам и поочередно их устанавливаем. Пример запроса для mysql всех таблиц:
source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ACCESSORY_LISTS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ACL_CRITERIA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ALI_COORDINATES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLES_NEW.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLE_CRITERIA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLE_INFO.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLE_LISTS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ARTICLE_LIST_CRITERIA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ART_COUNTRY_SPECIFICS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ART_LOOKUP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.AXLES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.AXL_BRAKE_SIZES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.BRANDS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.CONST_PATTERN_LOOKUP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.COUNTRIES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.COUNTRY_DESIGNATIONS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.CRITERIA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.CV_CABS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.CV_MARKS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.CV_SECONDARY_TYPES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.DESIGNATIONS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.DES_TEXTS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.DOC_TYPES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ENGINES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ENG_COUNTRY_SPECIFICS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ENG_LOOKUP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.ERR_TRACK_KEY_VALUES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.FILTERS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.GENERIC_ARTICLES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.GRAPHICS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.KEY_VALUES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LANGUAGES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LA_CRITERIA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LA_INFO.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_ART.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_ART_GA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_CAB_TYP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_GA_CRI.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_GA_STR.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_GRA_ART.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_GRA_LA.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_AXL.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_AXL_NEW.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_ENG.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_ENG_NEW.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_MRK.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_MRK_NEW.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_TYP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_LA_TYP_NEW.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_SHO_STR.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_SHO_STR_TYPE.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_TYP_AXL.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_TYP_ENG.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.LINK_TYP_MRK.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.MANUFACTURERS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.MODELS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.MOD_TYP_LOOKUP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.NUMBERPLATES_NL.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.PARAMETERS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.PRICES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SEARCH_TREE.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SHORTCUTS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.STR_FAMILY_TREE.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.STR_LOOKUP.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SUPERSEDED_ARTICLES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SUPPLIERS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SUPPLIER_ADDRESSES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.SUPPLIER_LOGOS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TEXT_MODULES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TEXT_MODULE_TEXTS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYPES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYPE_NUMBERS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYP_COUNTRY_SPECIFICS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYP_SUSPENSIONS.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYP_VOLTAGES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.TYP_WHEEL_BASES.sql; source /home/mstar/tecdoc_1303/tecdoc.2013.3q.full.data.UTILITY_DIRECT.sql;
Далее нам надо переименовать все таблицы в соответствии с названиями используемыми у нас:
RENAME TABLE ACCESSORY_LISTS TO tof__accessory_lists; RENAME TABLE ACL_CRITERIA TO tof__acl_criteria; RENAME TABLE ALI_COORDINATES TO tof__ali_coordinates; RENAME TABLE ARTICLES TO tof__articles; RENAME TABLE ARTICLES_NEW TO tof__articles_new; RENAME TABLE ARTICLE_CRITERIA TO tof__article_criteria; RENAME TABLE ARTICLE_INFO TO tof__article_info; RENAME TABLE ARTICLE_LISTS TO tof__article_lists; RENAME TABLE ARTICLE_LIST_CRITERIA TO tof__article_list_criteria; RENAME TABLE ART_COUNTRY_SPECIFICS TO tof__art_country_specifics; RENAME TABLE ART_LOOKUP TO tof__art_lookup; RENAME TABLE AXLES TO tof__axles; RENAME TABLE AXL_BRAKE_SIZES TO tof__axl_brake_sizes; RENAME TABLE BRANDS TO tof__brands; RENAME TABLE CONST_PATTERN_LOOKUP TO tof__const_pattern_lookup; RENAME TABLE COUNTRIES TO tof__countries; RENAME TABLE COUNTRY_DESIGNATIONS TO tof__country_designations; RENAME TABLE CRITERIA TO tof__criteria; RENAME TABLE CV_CABS TO tof__cv_cabs; RENAME TABLE CV_MARKS TO tof__cv_marks; RENAME TABLE CV_SECONDARY_TYPES TO tof__cv_secondary_types; RENAME TABLE DESIGNATIONS TO tof__designations; RENAME TABLE DES_TEXTS TO tof__des_texts; RENAME TABLE DOC_TYPES TO tof__doc_types; RENAME TABLE ENGINES TO tof__engines; RENAME TABLE ENG_COUNTRY_SPECIFICS TO tof__eng_country_specifics; RENAME TABLE ENG_LOOKUP TO tof__eng_lookup; RENAME TABLE ERR_TRACK_KEY_VALUES TO tof__err_track_key_values; RENAME TABLE FILTERS TO tof__filters; RENAME TABLE GENERIC_ARTICLES TO tof__generic_articles; RENAME TABLE GRAPHICS TO tof__graphics; RENAME TABLE KEY_VALUES TO tof__key_values; RENAME TABLE LANGUAGES TO tof__languages; RENAME TABLE LA_CRITERIA TO tof__la_criteria; RENAME TABLE LA_INFO TO tof__la_info; RENAME TABLE LINK_ART TO tof__link_art; RENAME TABLE LINK_ART_GA TO tof__link_art_ga; RENAME TABLE LINK_CAB_TYP TO tof__link_cab_typ; RENAME TABLE LINK_GA_CRI TO tof__link_ga_cri; RENAME TABLE LINK_GA_STR TO tof__link_ga_str; RENAME TABLE LINK_GRA_ART TO tof__link_gra_art; RENAME TABLE LINK_GRA_LA TO tof__link_gra_la; RENAME TABLE LINK_LA_AXL TO tof__link_la_axl; RENAME TABLE LINK_LA_AXL_NEW TO tof__link_la_axl_new; RENAME TABLE LINK_LA_ENG TO tof__link_la_eng; RENAME TABLE LINK_LA_ENG_NEW TO tof__link_la_eng_new; RENAME TABLE LINK_LA_MRK TO tof__link_la_mrk; RENAME TABLE LINK_LA_MRK_NEW TO tof__link_la_mrk_new; RENAME TABLE LINK_LA_TYP TO tof__link_la_typ; RENAME TABLE LINK_LA_TYP_NEW TO tof__link_la_typ_new; RENAME TABLE LINK_SHO_STR TO tof__link_sho_str; RENAME TABLE LINK_SHO_STR_TYPE TO tof__link_sho_str_type; RENAME TABLE LINK_TYP_AXL TO tof__link_typ_axl; RENAME TABLE LINK_TYP_ENG TO tof__link_typ_eng; RENAME TABLE LINK_TYP_MRK TO tof__link_typ_mrk; RENAME TABLE MANUFACTURERS TO tof__manufacturers; RENAME TABLE MODELS TO tof__models; RENAME TABLE MOD_TYP_LOOKUP TO tof__mod_typ_lookup; RENAME TABLE NUMBERPLATES_NL TO tof__numberplates_nl; RENAME TABLE PARAMETERS TO tof__parameters; RENAME TABLE PRICES TO tof__prices; RENAME TABLE SEARCH_TREE TO tof__search_tree; RENAME TABLE SHORTCUTS TO tof__shortcuts; RENAME TABLE STR_FAMILY_TREE TO tof__str_family_tree; RENAME TABLE STR_LOOKUP TO tof__str_lookup; RENAME TABLE SUPERSEDED_ARTICLES TO tof__superseded_articles; RENAME TABLE SUPPLIERS TO tof__suppliers; RENAME TABLE SUPPLIER_ADDRESSES TO tof__supplier_addresses; RENAME TABLE SUPPLIER_LOGOS TO tof__supplier_logos; RENAME TABLE TEXT_MODULES TO tof__text_modules; RENAME TABLE TEXT_MODULE_TEXTS TO tof__text_module_texts; RENAME TABLE TYPES TO tof__types; RENAME TABLE TYPE_NUMBERS TO tof__type_numbers; RENAME TABLE TYP_COUNTRY_SPECIFICS TO tof__typ_country_specifics; RENAME TABLE TYP_SUSPENSIONS TO tof__typ_suspensions; RENAME TABLE TYP_VOLTAGES TO tof__typ_voltages; RENAME TABLE TYP_WHEEL_BASES TO tof__typ_wheel_bases; RENAME TABLE UTILITY_DIRECT TO tof__utility_direct;
Теперь создаем наши дополнительные таблицы и заполняем их данными:
CREATE TABLE IF NOT EXISTS `tof__link_la_typ_view` ( `LAT_TYP_ID` int(11) NOT NULL DEFAULT '0' COMMENT 'LAT_TYP_ID', `LAT_GA_ID` int(11) NOT NULL DEFAULT '0' COMMENT 'LAT_GA_ID', `LAT_SUP_ID` smallint(6) DEFAULT NULL COMMENT 'LAT_SUP_ID', `GA_DES_ID` int(11) NOT NULL DEFAULT '0' COMMENT 'GA_DES_ID', `ART_ID` int(11) NOT NULL DEFAULT '0' COMMENT 'ART_ID', `ART_ARTICLE_NR` varchar(66) DEFAULT NULL COMMENT 'varchar(66)', KEY `LAT_TYP_ID` (`LAT_TYP_ID`,`LAT_GA_ID`), KEY `ART_ARTICLE_NR` (`ART_ARTICLE_NR`), KEY `art_id` (`ART_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; insert into tof__link_la_typ_view SELECT LAT_TYP_ID,LAT_GA_ID,LAT_SUP_ID, GA_DES_ID, ART_ID ,replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(replace(UPPER(ART_ARTICLE_NR),' ',''),'-',''),'#',''),'.',''),'/',''),',',''),':',''),'[',''),']',''),'(',''),')','') FROM tof__link_la_typ LEFT OUTER JOIN tof__generic_articles on lat_ga_id=ga_id LEFT OUTER JOIN tof__link_art ON LAT_LA_ID = LA_ID INNER JOIN tof__articles ON LA_ART_ID = ART_ID; CREATE TABLE IF NOT EXISTS `tof__art_lookup_kind3` ( `ARL_BRA_ID` smallint(6) DEFAULT '0' COMMENT 'smallint', `ARL_ART_ID` int(11) DEFAULT '0' COMMENT 'integer', `ARL_SEARCH_NUMBER` varchar(105) DEFAULT '' COMMENT 'varchar(105)', KEY `ARL_ART_ID` (`ARL_BRA_ID`,`ARL_ART_ID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; insert into `tof__art_lookup_kind3` SELECT `ARL_BRA_ID`,`ARL_ART_ID`,`ARL_SEARCH_NUMBER` FROM `tof__art_lookup` WHERE `ARL_KIND`='3'; CREATE TABLE IF NOT EXISTS `tof__link_typ_str` ( `lts_typ_id` int(11) NOT NULL, `lts_str_id` int(11) NOT NULL, KEY `lts_typ_id` (`lts_typ_id`) ) ENGINE=MyISAM; insert into tof__link_typ_str (lts_str_id,lts_typ_id) select distinct(lgs_str_id) lts_str_id,lat_typ_id lts_typ_id from tof__link_ga_str join tof__link_la_typ on lgs_ga_id=lat_ga_id;
Формирование первой таблицы занимает около 20 hours 52 min, второй - чуть больше минуты, третьей - около 1 day 5 hours 4 min (сервер Париж tecdoc_1303)
Повторная установка на другом сервере
Установка с использованием запросов производится только первый раз, для установки на другие сервера можно создать архив файлов базы MySQL из /var/lib/mysql/tecdoc_1303 и скопировать его на другой сервер с последующей распаковкой в аналогичном месте. С файлы картинок и PDF можно поступать на свое усмотрение, но я рекомендую скачивать с ФТП и распаковывать используя шаги описанные в начале.