en
Sprog
  • en
  • cs
  • hu
  • it
  • es
  • fr
  • de
  • ru
Maskinoversættelse
  • bg
  • dk
  • nl
  • gr
  • il
  • jp
  • kr
  • ingen
  • pl
  • tr

Migrer fra Postgres til MySQL

Introduktion

Af hensyn til dig, Easy Project-serveradministratorer, har vi testet et par værktøjer til DB-migrering fra Postgres til MySQL.

Den ene er en gratis open source, men også ældre og med en betydelig ulempe. De andre var førsteklasses værktøjer med resultater, der efter vores mening gør det værd at købe.

Gratis mulighed - pg2mysql php-script

Disclaimer: Dette værktøj blev udviklet af en tredjepart => det er IKKE et produkt fra Easy Software og er derfor IKKE GARANTERET.
Det testede værktøj fås på:
http://www.lightbox.ca/pg2mysql.php
Vi foretog vores egne ændringer til værktøjet for at få det til at fungere med php 7.4. Brug er dog stadig på egen risiko, og vi giver INGEN GARANTIER overhovedet.

Trin til migration

1. Download scriptet, og pakk arkivet ud.

wget http://www.lightbox.ca/pg2mysql/pg2mysql-1.9.tar.bz2  (indeholder originalt script fra forfatteren)
wget https://www.easyredmine.com/ER/media/knowledge-base/pg2mysql-1.9.zip (indeholder vores modificerede script til php version 7.4)

tjære -xvf pg2mysql-1.9.tar.bz2(i tilfælde af originalt script fra forfatteren)
pakke pg2mysql-1.9.zip (i tilfælde af vores ændrede script til php version 7.4)

2. Installer php

sudo apt installer php7.4-cli (i tilfælde af vores ændrede script)

3. Opret en dump af PostgreSQL-database i .sql-format, sørg for at bruge "--format p --inserts"

sudo -u postgres pg_dump --format p - indsætter DBNAME_HERE> /path/to/file.sql

4. Skift til pg2mysql-1.9-mappen

cd pg2mysql-1.9 /

5. Kør

php pg2mysql_cli.php /path/to/pd/dump/file.sql /path/where/to/save/mysql/file.sql

Du vil se nogle linjer som

Afsluttet! 30820 linjer 5539 kvl klumper

Bemærkninger:
 - Nej, det er ikke perfekt
 - Ja, det kasserer ALLE lagrede procedurer
 - Ja, det kasserer ALLE forespørgsler undtagen CREATE TABLE og INSERT INTO 
 - Ja, du kan sende forslag til os via e-mail: info [AT] lightbox.org
    - I e-mails skal du medtage Postgres-koden og den forventede MySQL-kode
 - Hvis du har problemer med at oprette din postgres-dump, skal du sørge for at bruge "--format p --inserts"
 - Standard output motor, hvis ikke angivet, er MyISAM "

6. Nu oprettes fil med ændret sql-dump. Vi anbefaler dig kraftigt at gennemgå det og erstatte MyISAM til InnoDB overalt

7. Nu kan du gendanne dette dump i en klar mysql-database.

8. Fordi scriptet (som forfatter meddelte os) ikke gemmer indekser, skal du tilføje dem manuelt til hver tabel (det fungerer uden indekser, men det kan forårsage alvorlige ydeevneproblemer). Der er en liste over alle indekser, der skal eksistere i MySQL-tabeller genereret af almindelig Easy Project-applikation. Du skal tilføje dem manuelt eller via eget brugerdefineret script.

Der er andre gratis værktøjer tilgængelige på internettet. Vores testresultater var imidlertid ikke tilfredsstillende på disse.

Premium-værktøj - DB Convert til MySQL & PostgreSQL v. 4.3.5

Vi testede helt 3 premium-værktøjer. DBConvert føltes som den mest egnede, derfor beskriver vi de detaljerede trin til det.

Forberedelse:

1. Sørg for, at både MySQL- og PostgreSQL-databaser er tilgængelige udefra (du kan muligvis tillade det midlertidigt).

2. Sørg for, at du kan logge ind på begge dbs med bruger og adgangskode

3. Installer værktøjet fra - https://dbconvert.com/postgresql/mysql/

Start konvertering:

1. Start guiden.

2. Vælg kildedatabase:
PostgreSQL
Værtsnavn: ip eller domænenavn på den server, hvor postgres db er installeret.
Port: hvis forskellig fra standard
Brugernavn: brugernavn, med hvilket db du skal konvertere, er tilgængeligt
Adgangskode: adgangskode til bruger ovenfor.

Klik på Test forbindelsesknappen. Appen kontrollerer, at det er muligt at oprette forbindelse til kildedb-serveren med den valgte bruger og adgangskode. Hvis det er muligt, uploades listen over databaser - afhent den rigtige.

3. Klik på "Næste". Appen opretter forbindelse til postgres og modtager listen over tabeller, der er tilgængelige i databasen. Du kan vælge alle dem, der skal konverteres, eller kun en / få af dem.

4. Vent lidt, og du vil blive videresendt til næste trin - MySQL-forbindelsesindstillinger.
Værtsnavn: ip eller domænenavn på den server, hvor mysql db er installeret.
Port: hvis forskellig fra standard
Brugernavn: brugernavn, med hvilket db du skal konvertere, er tilgængeligt
Adgangskode: adgangskode til bruger ovenfor.

Klik på Test forbindelsesknappen. Appen kontrollerer, at det er muligt at oprette forbindelse til kildedb-serveren med den valgte bruger og adgangskode. Hvis det er muligt, uploades listen over databaser - afhent den rigtige.

5. På det næste trin kontrollerer applikationen kildedatabasen og giver dig nogle anbefalinger til, hvordan du løser mulige problemer.

Vi har mødt det næste problem:

Tabel "ændrer" felt "handling". I original DB var det typen "CHAR (1)". Men standardværdien var '', så Mysql antog, at den ikke var gyldig. Du kan vælge Ny type. Vi har valgt CHAR (2) og klik på Næste. Problemet blev løst.

Gentag lignende handlinger med andre urolige felter.

6. Klik på Næste en gang til. Applikationen starter konvertering, der viser dig den samlede og aktuelle fremgang. Vent til konvertering er færdig.

7. Klik på "Afslut". Konvertering er færdig.

Forfatteren af ​​dette værktøj yder support til betalende kunder.

Pris: $ 149 (en gang)

Andre premium muligheder

Vi testede også prøveversioner af disse værktøjer. Her er generelle kommentarer om dem:

  • side 2scld (https://www.convert-in.com/pgs2sql.htm)
    Ingen problemer med at oprette forbindelse til databasen (ingen grund til at installere yderligere drivere eller opsætte dem på en eller anden måde eller noget andet). Har prøveversion (i prøvefunktion kopierer kun 50 poster pr. Tabel, men kontrollerer alle linjerne og viser den samme fremgang, som hvis hele databasen blev kopieret). Har intern fejlretning og viser mulige problemer med migration. Har mange forskellige muligheder, der kan anvendes under migrering. Har support døgnet rundt for betalte kunder. Kun brugergrænseflade Windows alene.
    Pris $ 49 (en gang).
  • ESF Database Migration Toolkit (https://www.dbsofts.com/articles/postgresql_to_mysql/)
    Ingen problemer med at oprette forbindelse til databasen (ingen grund til at installere yderligere drivere eller opsætte dem på en eller anden måde eller noget andet). Har prøveversion (i prøveversion kopierer kun 50000 poster). Har intern fejlfinding og viser mulige problemer med migration. Har mange forskellige muligheder, der kan anvendes under migrering. Har support døgnet rundt for betalte kunder. Kun brugergrænseflade, Windows alene.
    Pris $ 322 (en gang).

Prøv Easy Project i 30 dages gratis prøveperiode

Fuldstændige funktioner, SSL-beskyttet, daglige backups, i din geolocation