Procedura migracji programu MySQL Server

Wymagania wstępne

Zainstalowana źródłowa i docelowa instancja programu SQL Server. Mogą być hostowane na różnych komputerach.

Narzędzia MySQL muszą być dostępne na co najmniej jednym z komputerów (mysqldump i kliencie mysql).

Przydatne łącza

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

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

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

Procedura migracji


note

W przedstawionych dalej poleceniach, plikach konfiguracyjnych oraz instrukcjach SQL należy zawsze zastępować zmienne według poniższych instrukcji:

SRCHOST zastąp adresem serwera źródłowej bazy danych

SRCROOTLOGIN zastąp nazwą użytkownika źródłowego serwera głównego MySQL

SRCDBNAME zastąp nazwą źródłowej bazy danych ESET PROTECT, której kopię zapasową chcesz utworzyć

BACKUPFILE zastąp ścieżką do pliku, w którym zostanie zapisana kopia zapasowa

TARGETROOTLOGIN zastąp nazwą użytkownika docelowego serwera głównego MySQL

TARGETHOST zastąp adresem serwera docelowej bazy danych

TARGETDBNAME zastąp nazwą docelowej bazy danych ESET PROTECT (po migracji)

TARGETLOGIN zastąp nazwą użytkownika nowej bazy danych ESET PROTECT na docelowym serwerze bazy danych

TARGETPASSWD zastąp hasłem nowego użytkownika bazy danych ESET PROTECT na docelowym serwerze bazy danych

Poniższych instrukcji SQL nie trzeba wykonywać przy użyciu wiersza polecenia. Jeśli dostępne jest narzędzie z graficznym interfejsem użytkownika, można skorzystać ze znanej aplikacji.

1.Zatrzymaj usługę serwera ESET PROTECT/MDM.

2.Utwórz pełną kopię zapasową źródłowej bazy danych ESET PROTECT (bazy danych, która ma zostać poddana migracji):

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

3.Przygotuj pustą bazę danych na docelowym serwerze MySQL:

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


note

W systemie Linux zamiast znaku cudzysłowu (") należy używać znaku apostrofu (').

4.Na docelowym serwerze MySQL przywróć bazę danych do przygotowanej wcześniej pustej bazy danych:

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

5.Utwórz użytkownika bazy danych ESET PROTECT na docelowym serwerze MySQL:

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

Znaki zalecane w przypadku elementu TARGETLOGIN:

Małe litery z zestawu znaków ASCII, cyfry oraz znak podkreślenia „_”

Znaki zalecane w przypadku elementu TARGETPASSWD:

Tylko znaki z zestawu znaków ASCII, w tym małe i wielkie litery z zestawu znaków ASCII, cyfry, spacje i znaki specjalne

Nie należy używać znaków spoza zestawu znaków ASCII, nawiasów klamrowych {} ani znaku @

Uwaga: W razie niezastosowania się do powyższych zaleceń dotyczących znaków możliwe są problemy z komunikacją z bazą danych lub konieczne może być anulowanie znaków specjalnych na późniejszych etapach, podczas modyfikacji ciągu połączenia bazy danych. Reguły anulowania znaków nie zostały opisane w niniejszym dokumencie.

6.Nadaj odpowiednie uprawnienia dostępu użytkownikowi bazy danych ESET PROTECT na docelowym serwerze MySQL:

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


note

W systemie Linux zamiast znaku cudzysłowu (") należy używać znaku apostrofu (').

7.Usuń zawartość tabeli tbl_authentication_certificate (w przeciwnym razie agenty mogą nie być w stanie połączyć się z nowym serwerem):

 mysql --host TARGETHOST -u root -p "--execute=DELETE FROM era_db.tbl_authentication_certificate where certificate_id = 1;"

8.Łączenie serwera ESET PROTECT lub komponentu MDM z bazą danych.