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

Uwaga

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

SRCERADBNAME zastąp nazwą źródłowej bazy danych ESMC, 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

TARGETERADBNAME zastąp nazwą docelowej bazy danych ESMC (po migracji)

TARGETERALOGIN zastąp nazwą użytkownika nowej bazy danych ESMC na docelowym serwerze bazy danych

TARGETERAPASSWD zastąp hasłem nowego użytkownika bazy danych ESMC 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 ESMC/MDM.

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

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

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

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

note

Uwaga

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 TARGETERADBNAME < BACKUPFILE

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

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

Znaki zalecane w przypadku elementu TARGETERALOGIN:

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

Znaki zalecane w przypadku elementu TARGETERAPASSWD:

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 ESMC na docelowym serwerze MySQL:

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

note

Uwaga

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 ESMC lub komponentu MDM z bazą danych.