Postup migrace pro MySQL Server
Předpoklady
•Nainstalová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á.
•Alespoň na jednom ze strojů musíte mít nainstalované MySQL tools (mysqldump a mysql client).
Užitečné odkazy
•https://dev.mysql.com/doc/refman/8.0/en/copying-databases.html
•https://dev.mysql.com/doc/refman/8.0/en/mysqldump.html
•https://dev.mysql.com/doc/refman/8.0/en/mysql.html
Postup migrace
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, •SRCDBNAME názvem zálohované ESET PROTECT databáze (standardně era_db), •BACKUPFILE cestou k souboru, do kterého chcete databázi zálohovat, •TARGETROOTLOGIN uživatelem s root oprávněním na cílovém databázovém serveru, •TARGETHOST adresou cílového databázového serveru, •TARGETDBNAME názvem cílové ESET PROTECT databáze, •TARGETLOGIN uživatelem, který bude mít na cílovém databázovém serveru přístup k ESET PROTECT databázi, •TARGETPASSWD heslem uživatele, který bude mít na cílovém databázovém serveru přístup k ESET PROTECT 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 ESET PROTECT Server/MDM.
2.Vytvořte úplnou zálohu původní ESET PROTECT databáze, kterou chcete migrovat:
mysqldump --host SRCHOST --disable-keys --extended-insert --routines -u SRCROOTLOGIN -p SRCDBNAME > BACKUPFILE |
3.Na novém MySQL serveru si připravte prázdnou databázi:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE DATABASE TARGETDBNAME /*!40100 DEFAULT CHARACTER SET utf8 */;" |
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 TARGETDBNAME < BACKUPFILE |
5.Vytvořte nového databázového ESET PROTECT uživatele na cílovém MySQL serveru:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=CREATE USER TARGETLOGIN@'%' IDENTIFIED BY 'TARGETPASSWD';" |
Doporučené znaky pro TARGETLOGIN:
•Malá ASCII písmena, čísla a podtržítko "_"
Doporučené znaky pro TARGETPASSWD:
•Pouze ASCII znaky, včetně velkých a malých písmen, číslic, mezer a speciálních znaků
•Nepoužívejte non-ASCII znak, 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ě bude nutné použít escape znak při úpravě connection stringu (krok 8). Escapovací pravidla tato příručka nepopisuje.
6.Přidělte uživateli oprávnění pro přístup do cílové ESET PROTECT databáze:
mysql --host TARGETHOST -u TARGETROOTLOGIN -p "--execute=GRANT ALL ON TARGETDBNAME.* TO TARGETLOGIN;" |
Na linuxových systémech používejte apostrof (') místo uvozovek ("). |
7.Smažte obsah tabulky tbl_authentication_certificate (v opačném případě se nemusí připojit agenti k novému serveru):
mysql --host TARGETHOST -u root -p "--execute=DELETE FROM era_db.tbl_authentication_certificate where certificate_id = 1;" |