Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Migracja MySQL do PostgreSQL na AWS RDS, część 2

Baza danych MySQL i baza danych PostgreSQL to dwa najlepsze systemy zarządzania relacyjnymi bazami danych typu open source (RDBMS), z których każdy zapewnia wyjątkowe korzyści. W poprzednim artykule, „Migracja MySQL do PostgreSQL na AWS RDS, część 1”, omówiliśmy niektóre zalety PostgreSQL nad MySQL i wprowadziliśmy usługę migracji bazy danych AWS (DMS), aby przeprowadzić migrację z MySQL do PostgreSQL. Zaczęliśmy od stworzenia użytkownika AWS IAM dla DMS. W tym samouczku kontynuacyjnym stworzymy instancje baz danych MySQL i PostgreSQL na RDS i połączymy się z nimi. Ten samouczek zawiera następujące sekcje:

  • Tworzenie instancji AWS RDS dla bazy danych MySQL i bazy danych PostgreSQL
  • Konfigurowanie łączności między bazami danych a DMS
  • Łączenie z bazą danych MySQL
  • Łączenie z bazą danych PostgreSQL
  • Wniosek

Tworzenie instancji AWS RDS dla bazy danych MySQL i bazy danych PostgreSQL

Utwórz źródłową i docelową bazę danych, odpowiednio bazę danych MySQL i bazę danych PostgreSQL, na AWS RDS. Korzystanie z RDS zostało omówione we wcześniejszym samouczku. Jako źródłową bazę danych MySQL wybierz MySQL, jak pokazano na rysunku 1.


Rysunek 1: Wybór MySQL w RDS

Wybierz produkcję lub Programowanie/testowanie opcję wdrożenia, jak pokazano na rysunku 2. Kliknij Następny krok.


Rysunek 2: Wybór typu wdrożenia

Określ szczegóły bazy danych , z których większość ma odpowiednie ustawienia domyślne. Wybierz klasę instancji bazy danych (db.t2.micro lub db.t1.micro). Podaj identyfikator instancji DB (MYSQLDB), który nie może być słowem zastrzeżonym bazy danych MySQL, takim jak „MYSQL”. Podaj nazwę użytkownika głównego, hasło główne (musi składać się z co najmniej 8 znaków) i kliknij Następny krok. Następnie skonfiguruj Ustawienia zaawansowane . W przypadku VPC wybierz Utwórz nowe VPC . W przypadku grupy podsieci wybierz Utwórz nową grupę podsieci DB . Dla Publicznie dostępnych , wybierz Tak . Dla Strefy dostępności , wybierz Brak preferencji . Dla grupy bezpieczeństwa VPC wybierz opcję Utwórz nową grupę zabezpieczeń. Określ opcje bazy danych, w tym nazwę bazy danych (MYSQLDB), która nie może być słowem zastrzeżonym, takim jak „MYSQL”, oraz port bazy danych (3306). Zachowaj domyślne ustawienia kopii zapasowej; automatyczne kopie zapasowe są wymagane, aby używać MySQL na RDS jako źródła DMS. Zachowaj domyślne ustawienia monitorowania i konserwacji i kliknij Uruchom instancję bazy danych . Baza danych MySQL na RDS zostaje utworzona.

W przypadku bazy danych PostgreSQL wybierz silnik bazy danych RDS jako PostgreSQL , jak pokazano na rysunku 3.


Rysunek 3: Wybór silnika bazy danych PostgreSQL

Wybierz typ wdrożenia Dev/Test i kliknij Next Step. Określ szczegóły bazy danych; większość ustawień domyślnych jest odpowiednia. Określ identyfikator instancji DB (postgresdb), nazwę użytkownika głównego, hasło główne i kliknij przycisk Następny krok. Następnie skonfiguruj ustawienia zaawansowane, w tym opcje bazy danych dla nazwy bazy danych (postgresdb), portu bazy danych (5432) i kliknij opcję Uruchom instancję bazy danych. Baza danych PostgreSQL zostaje uruchomiona na RDS. Bazę danych MySQL i bazę danych PostgreSQL w RDS pokazano na rysunku 4.


Rysunek 4: Baza danych MySQL i PostgreSQL na RDS

Konfigurowanie łączności między bazami danych a DMS

Domyślnie usługa migracji bazy danych (DMS) nie może łączyć się z wystąpieniami bazy danych RDS. Musimy dodać łączność do grup zabezpieczeń dla wystąpienia RDS DB. Kliknij Grupę bezpieczeństwa link w Szczegółach konfiguracji dla instancji MySQL RDS DB, jak pokazano na rysunku 5.


Rysunek 5: Grupa bezpieczeństwa dla MySQL na RDS

W konsoli grupy zabezpieczeń wybierz kartę Przychodzące i kliknij Edytuj (patrz Rysunek 6).


Rysunek 6: Grupa bezpieczeństwa>Edytuj

W Edytuj reguły ruchu przychodzącego , wybierz Typ jako Cały ruch , Protokół jako Wszyscy , Zakres portów jako 0-65535, Źródło jako Wszędzie i kliknij Zapisz , jak pokazano na rysunku 7.


Rysunek 7: Konfigurowanie reguł ruchu przychodzącego, aby zezwolić na cały ruch

Reguły ruchu przychodzącego są konfigurowane tak, aby zezwalały na cały ruch, jak pokazano na rysunku 8.


Rysunek 8: Przychodzący>Cały ruch

Wychodzące Po skonfigurowaniu reguł ruchu przychodzącego reguły powinny również zostać ustawione na Cały ruch, jak pokazano na Rysunku 9.


Rysunek 9: Wychodzące>Cały ruch

Podobnie, kliknij link Security Group dla instancji PostgreSQL RDS DB, jak pokazano na rysunku 10, i skonfiguruj reguły Inbound/Outbound, aby zezwolić na cały ruch.


Rysunek 10: Konfigurowanie grupy bezpieczeństwa dla PostgreSQL, aby zezwolić na cały ruch

Łączenie z bazą danych MySQL

Podczas migracji instancji bazy danych MySQL na RDS można migrować całą bazę danych, która obejmuje wszystkie schematy i tabele, w tym schematy i tabele systemowe. W tej sekcji połączymy się z bazą danych MySQL na RDS i przyznamy pewne uprawnienia użytkownika do dvohra użytkownik. Aby połączyć się z bazą danych MySQL, uzyskaj bazę danych Punkt końcowy z pulpitu nawigacyjnego RDS (patrz Rysunek 11).


Rysunek 11: Uzyskiwanie punktu końcowego

W powłoce poleceń uruchom następujące polecenie MySQL z katalogu bin bazy danych MySQL (C:Program FilesMySQLMySQL Server 5.7bin). Rozpocznie to sesję MySQL CLI.

mysql -h mysqldb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
   -u dvohra -p

Podaj hasło w Wprowadź hasło: podpowiedź. SQL> zostanie wyświetlony wiersz poleceń, jak pokazano na rysunku 12.


Rysunek 12: Łączenie się z bazą danych MySQL za pomocą CLI

Następnie przyznaj uprawnienia do instancji bazy danych MySQL w RDS użytkownikowi DMS (dvohra).

GRANT ALTER, CREATE, DROP, INDEX, INSERT, UPDATE, DELETE,
   SELECT ON *.* TO 'dvohra'@'%';
GRANT ALL PRIVILEGES ON awsdms_control.* TO 'dvohra'@'%';

Uprawnienia użytkownika zostaną ustawione, jak pokazano na rysunku 13.


Rysunek 13: Dodawanie uprawnień użytkownika

Łączenie z bazą danych PostgreSQL

Aby połączyć się z bazą danych PostgreSQL na RDS z powłoki poleceń, uzyskaj bazę danych Punkt końcowy z pulpitu nawigacyjnego RDS, jak pokazano na rysunku 14.


Rysunek 14: Uzyskiwanie punktu końcowego bazy danych PostgreSQL na RDS

Uruchom następujące polecenie, aby połączyć się z bazą danych PostgreSQL i uruchomić interfejs wiersza poleceń (CLI).

psql --host=postgresdb.crbmlbxmp8qi.us-east-1.rds.amazonaws.com
     --port=5432 --username dvohra --password --dbname=postgresdb

Zostanie uruchomiony interfejs wiersza poleceń bazy danych PostgreSQL (CLI), jak pokazano na rysunku 15.


Rysunek 15: Łączenie się z bazą danych PostgreSQL na RDS za pomocą CLI

Wymień schematy z dn Komenda. Publiczny schemat zostanie wyświetlony (patrz Rysunek 16).


Rysunek 16: Schematy aukcji

Wniosek

W tym drugim z czterech samouczków dotyczących migracji instancji bazy danych MySQL na RDS do instancji bazy danych Postgres na RDS z AWS DMS, stworzyliśmy instancje dwóch baz danych na RDS i połączyliśmy się z instancjami bazy danych. W następnym samouczku stworzymy migrację DMS.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zarządzanie kontami użytkowników, role, uprawnienia, uwierzytelnianie PHP i MySQL - Część 3

  2. Napraw „BŁĄD 1250 (42000):Tabela „…” z jednej z SELECTów nie może być użyta w globalnej klauzuli ORDER” podczas używania UNION w MySQL

  3. Dodać 2 godziny do aktualnego czasu w MySQL?

  4. Jak utworzyć tabelę w SQL – przykładowe zapytanie Postgres i MySQL

  5. Jak uzyskać dane z ostatniego tygodnia w MySQL?