Форум администраторов игровых серверов

Форум администраторов игровых серверов (https://forum.zone-game.info/TT.php)
-   Серверная часть (https://forum.zone-game.info/forumdisplay.php?f=148)
-   -   Как обновить сборку сервера, не теряя данных? (https://forum.zone-game.info/showthread.php?t=7810)

Lone 27.04.2010 02:57

Как обновить сборку сервера, не теряя данных?
 
Как обновить сборку сервера, не теряя данных?

На форуме поискал подобный вопрос - не нашел (может быть, плохо искал).
Как я пытался обновить сервер, но... : 1. Качаю готовую сборку ЛС И ГС с Hudson, затем удаляю старые папки ЛС и ГС. 2. После чего делаю бэкапы старых баз данных и затем заливаю новую базу ЛС в Navicat уже в существующую. Но в этом случае все данные удаляются. А если залить ГС в Navicat в уже существующую базу ГС, то все остается без изменений. ( В общем все, что я проделывал или по крайней мере пытался - это все бред ИМХО, ничего у меня не получается :) ).
Кто может написать гайд (дать подробный, понятный ответ) или что-то подобное ему по обновлению сервера со старой сборки на новую при этом, сохранив все данные? Буду очень премного благодарен тому, кто поможет мне. :)

aspalt 27.04.2010 04:51

Re: Как обновить сборку сервера, не теряя данных?
 
лс не заменяй все ровно эта папка стандартная .. и в novikat через sql не обновляй..
все норм будет..
теперь GS его обновишь и все должно остаться..

и на всякий..
заходишь новикат выделяешь все свои базы мышью жмешь правой клавишой выбераешь "DUMP SHQ FILE" это поможет если что то закосячишь в будующим.. базы все в один файл упакуешь .... потом при необходимости загрузишь !

ViAl 27.04.2010 05:25

Re: Как обновить сборку сервера, не теряя данных?
 
Для того чтобы старые данные не удалялись - заливай в старую базу только *.sql файлы из папок sql/Update.

Nemesis 27.04.2010 08:22

Re: Как обновить сборку сервера, не теряя данных?
 
Не трогай базу вообще
Тебе же обновить ее надо а не поменять
1.Заменяешь все серверные папки ( в данном случае папку Gameserver)
2. Открываешь Navicat выбираешь свою базу с геймсервером, далее нажимаешь
View - Query - New Query - В открывшеся окне нажимаешь Load вы папке геймсервер находишь папку sql - update и выбираешь файлы с расширение *.sql
после того как выбрал скл фаил нажимаешь Run
и так каждый фаил что бы обновить
В этом случае остается старое и добавится новое.

Lone 27.04.2010 17:31

Re: Как обновить сборку сервера, не теряя данных?
 
Спасибо всем большое за ответы. :)

Lone 30.04.2010 17:03

Re: Как обновить сборку сервера, не теряя данных?
 
Nemesis, у меня есть к тебе еще один вопросик. :)

Вот к примеру я скачал новую сборку ГС, удаляю старую. Затем заливаю из папки Update файлы, но возникает ошибка вида:
Цитата:

[SQL] ALTER TABLE `players` ADD COLUMN `recoverexp` bigint(20) NOT NULL default '0' AFTER `exp`;
[Err] 1060 - Duplicate column name 'recoverexp'
Конечно эта ошибка возникает не со всеми файлами...
Так и должно быть? Ведь слово duplicate переводиться с англ. как дубликат, копия, а значит все это не получается обновить т.к. данный файл уже есть у меня. Так ведь?

Devilop 30.04.2010 17:32

Re: Как обновить сборку сервера, не теряя данных?
 
вчитывайся в название файла
там написано обгрейд какой части базы идёт и после какой ревы он вышел
то есть если скажем у тебя был сервак 1125 ты обновил а в Update лежит файл 1124 то ставить не надо а если 1126+ то надо

Bumerok 30.04.2010 20:27

Re: Как обновить сборку сервера, не теряя данных?
 
Теперь вроде с 1900+

Nemesis 30.04.2010 20:51

Re: Как обновить сборку сервера, не теряя данных?
 
[Err] 1060 - Duplicate column name 'recoverexp'
НАписано что дублирутся имя таблицы.
Это говорит о том что такая таблица уже есть

aspalt 09.05.2010 21:37

Re: Как обновить сборку сервера, не теряя данных?
 
я немогу обновить базу почему то теперь на более новую, да в общем на любую..

Что сделать... ошибки в гс от неё частые..

Добавлено через 2 минуты
[Err] 1050 - Table 'broker' already exists
[Err] -- ----------------------------
-- broker
-- ----------------------------
CREATE TABLE `broker` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`itemPointer` int(11) NOT NULL DEFAULT '0',
`itemId` int(11) NOT NULL,
`itemCount` int(11) NOT NULL,
`seller` varchar(14) NOT NULL,
`price` int(11) NOT NULL DEFAULT '0',
`brokerRace` enum('ELYOS','ASMODIAN') NOT NULL,
`expireTime` timestamp NOT NULL DEFAULT '2010-01-01 02:00:00',
`settleTime` timestamp NOT NULL DEFAULT '2010-01-01 02:00:00',
`sellerId` int(11) NOT NULL,
`isSold` tinyint(1) NOT NULL,
`isSettled` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
[Msg] Finished - Unsuccessfully
--------------------------------------------------


Текущее время: 11:44. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot