Proces migrace MySQL serveru

Předpoklady:
oNainstalovánu cílovou instanci SQL serveru, na kterou budete migrovat. Cílová instance může být nainstalována na jiném stroji než zdrojová.
oAlespoň na jednom ze strojů musíte mít nainstalované MySQL tools (mysqldump a mysql client).
 
Užitečné odkazy:

http://dev.mysql.com/doc/refman/5.6/en/copying-databases.html

http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html

http://dev.mysql.com/doc/refman/5.6/en/mysql.html
 

V níže uvedených příkazech, konfiguračních souborech nebo SQL dotazech vždy nahraďte:
SRCHOST adresou zdrojového databázového serveru,
SRCROOTLOGIN uživatelem s root oprávněním na zdrojovém databázovém serveru ,
SRCERADBNAME názvem zálohované ERA databáze (standardně era_db),
BACKUPFILE cestou k souboru, do kterého chcete databázi zálohovat,
TARGETHOST adresou cílového databázového serveru,
TARGETROOTLOGIN uživatelem s root oprávněním na cílovém databázovém serveru ,
TARGETERADBNAME názvem cílové ERA databáze,
TARGETERALOGIN uživatelem, který bude mít na cílovém serveru přístup k ERA databázi,
TARGETERAPASSWD heslem uživatele, který bude mít na cílovém serveru přístup k ERA databázi.

Níže uvedené příkazy není nutné spouštět pomocí příkazového řádku. Provádět je můžete prostřednictvím MySQL tools.

1.Zastavte službu ERA Server, resp. ERA Proxy.
2.Vytvořte úplnou zálohu původní ERA databáze:

mysqldump --host SRCHOST --disable-keys --extended-insert -u SRCROOTLOGIN -p SRCERADBNAME > BACKUPFILE

3.Na novém MySQL serveru si připravte prázdnou databázi:

mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETERADBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;"

Poznámka: Na linuxových systémech používejte apostrof (') místo uvozovek (").

4.Obnovte databázi na cílový MySQL server do prázdné databáze, kterou jste si připravili v předchozím kroku:

mysql --host TARGETHOST -u TARGETROOTLOGIN -p TARGETERADBNAME < BACKUPFILE

5.Vytvořte nového uživatele na cílovém MySQL serveru:

mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETERALOGIN@'%' IDENTIFIED BY 'TARGETERAPASSWD';"

Doporučení pro TARGETERALOGIN:

Malé ASCII znaky, čísla a podtržítko "_"

Doporučení pro TARGETERAPASSWD:

Pouze ASCII znaky, velká a malá písmena, čísla, mezery a speciální znaky
Nepoužívejte non-ASCII znaky, složené závorky {} a @

Mějte na paměti, že při nedodržení výše uvedených doporučení nemusí dojít k úspěšnému připojení do databáze případně budete muset použít escape znak při úpravě connection stringu (krok 8).

6.Přidělte uživateli oprávnění pro přístup do ERA databáze:

mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETERADBNAME.* TO TARGETERALOGIN;"

Poznámka: Na linuxových systémech používejte apostrof (') místo uvozovek (").

7.Na stroji s ERA Serverem, resp. ERA Proxy najděte soubor startupconfiguration.ini a otevřete jej v textovém editoru.
oWindows Vista a novější:

% PROGRAMDATA %\ESET\RemoteAdministrator\Server\EraServerApplicationData\Configuration\startupconfiguration.ini

oWindows XP:

% ALLUSERSPROFILE %\ Application Data\ESET\RemoteAdministrator\Server\EraServerApplicationData\Configuration\startupconfiguration.ini

oLinux:

/etc/opt/eset/RemoteAdministrator/Server/StartupConfiguration.ini

8.Změňte connection string pro připojení k databázi.
oZadejte adresu a port nového databázového serveru.
oZadejte název nového uživatele a heslo, který má přístup ERA databázi.
Výsledek by měl vypadat takto:

DatabaseType=MySqlOdbc

DatabaseConnectionString=Driver=MySQL ODBC 5.3 Unicode Driver;Server=TARGETHOST;Port=3306;User=TARGETERALOGIN;Password={TARGETERAPASSWD};CharSet=utf8;Database=TARGETERADBNAME;

9.Spusťte službu ERA Server, resp. ERA Proxy a ujistěte se, že běží správně.