en
Språk
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI-översättning
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Migrera från Postgres till MySQL

Beskrivning

För din skull, Easy Redmine -serveradministratörer, har vi testat ett par verktyg för DB -migrering från Postgres till MySQL.

En är en gratis öppen källkod, men också äldre och med en betydande nackdel. De andra var premiumverktyg, med resultat som enligt vår mening gör det värt köpet.

Gratis alternativ - pg2mysql php -skript

Varning: Det här verktyget har utvecklats av en tredje part => det är INTE en produkt av Easy Software och är därför INTE GARANTERAD.
Det testade verktyget finns på:
http://www.lightbox.ca/pg2mysql.php
Vi gjorde våra egna ändringar av verktyget för att få det att fungera med php 7.4. Användningen sker dock fortfarande på egen risk, och vi tillhandahåller inga garantier alls.

Steg för migration

1. Ladda ner skriptet och packa upp arkivet

wget http://www.lightbox.ca/pg2mysql/pg2mysql-1.9.tar.bz2  (innehåller originalmanus från författaren)
wget https://www.easyredmine.com/ER/media/knowledge-base/pg2mysql-1.9.zip (innehåller vårt modifierade skript för php version 7.4)

tjära -xvf pg2mysql -1.9.tar.bz2(vid originalmanus från författaren)
packa upp pg2mysql-1.9.zip (i fallet med vårt modifierade skript för php version 7.4)

2. Installera php

sudo apt installera php7.4-cli (i fallet med vårt modifierade manus)

3. Skapa en dumpning av PostgreSQL-databasen i .sql-format, se till att du använder "--format p --inserts"

sudo -u postgres pg_dump --format p --insatser DBNAME_HERE> /path/to/file.sql

4. Byt till mappen pg2mysql-1.9

cd pg2mysql-1.9/

5. run

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

Du kommer att se några rader som

Avslutad! 30820 rader 5539 kvm bitar

Anmärkningar:
 - Nej det är inte perfekt
 - Ja, det kasserar ALLA lagrade procedurer
 - Ja, det förkastar ALLA frågor förutom SKAPA TABELL och SÄTT IN 
 - Ja, du kan mejla oss förslag: info [AT] lightbox.org
    - I e -postmeddelanden, vänligen inkludera Postgres -koden och den förväntade MySQL -koden
 -Om du har problem med att skapa din postgres dump, se till att du använder "--format p --insatser"
 - Standardutgångsmotor om det inte är angivet är MyISAM "

6. Nu kommer en fil med modifierad sql-dump att skapas. Vi rekommenderar starkt att du går igenom det och byter ut MyISAM till InnoDB överallt

7. Nu kan du återställa denna dump till tydlig mysql -databas.

8. Eftersom (som författaren meddelade oss) skriptet inte sparar index måste du lägga till dem manuellt i varje tabell (det kommer att fungera utan index men det kan orsaka allvarliga prestandaproblem). Det finns en lista över alla index som bör finnas i MySQL-tabeller som genereras av vanliga Easy Redmine-applikationer. Du måste lägga till dem manuellt eller via eget anpassat skript.

Det finns andra gratisverktyg tillgängliga på webben. Våra testresultat var dock inte tillfredsställande för dessa.

Uppgradera din projektledning

Få nästa nivå Redmine-funktioner som anpassar sig efter dina behov och ger dig perfekt överblick.

Premiumverktyg - DB Convert för MySQL & PostgreSQL v. 4.3.5

Vi testade totalt 3 premiumverktyg. DBConvert kändes som det mest lämpliga, därför beskriver vi de detaljerade stegen för det.

Förberedelser:

1. Se till att både MySQL- och PostgreSQL-databaserna är tillgängliga utifrån (du kan tillåta det tillfälligt).

2. Se till att du kan logga in på både dbs med användare och lösenord

3. Installera verktyget från - https://dbconvert.com/postgresql/mysql/

Starta konverteringen:

1. Starta guiden.

2. Välj källdatabas:
PostgreSQL
Värdnamn: ip eller domännamn för servern där postgres db är installerat.
Port: om den skiljer sig från standard
Användarnamn: användarnamn med vilket db du ska konvertera är tillgängligt
Lösenord: lösenord för användaren ovan.

Klicka på Testa anslutningsknappen. Appen kommer att kontrollera att det är möjligt att ansluta till källans db -server med vald användare och lösenord. Om det är möjligt laddas listan över databaser upp - välj den rätta.

3. Klicka på "Nästa". Appen kommer att ansluta till postgres och ta emot listan över tillgängliga tabeller i databasen. Du kan välja att alla ska konverteras eller bara en/få av dem.

4. Vänta lite så vidarebefordras du till nästa steg - MySQL -anslutningsinställningar.
Värdnamn: ip eller domännamn för servern där mysql db är installerat.
Port: om den skiljer sig från standard
Användarnamn: användarnamn med vilket db du ska konvertera är tillgängligt
Lösenord: lösenord för användaren ovan.

Klicka på Testa anslutningsknappen. Appen kommer att kontrollera att det är möjligt att ansluta till källans db -server med vald användare och lösenord. Om det är möjligt laddas listan över databaser upp - välj den rätta.

5. I nästa steg kommer programmet att kontrollera källdatabasen och ge dig några rekommendationer om hur du löser eventuella problem.

Vi har mött nästa problem:

Tabellen "ändrar" fältet "åtgärd". I original DB var det typ "CHAR (1)". Men standardvärdet var '', så Mysql antog att det inte var giltigt. Du kan välja Ny typ. Vi har valt CHAR (2) och klickar på Nästa. Problemet var åtgärdat.

Upprepa liknande åtgärder med andra problemfält.

6. Klicka på Nästa en gång till. Applikationen startar konverteringen och visar dig totala och aktuella framsteg. Vänta tills konverteringen är klar.

7. Klicka på "Avsluta". Omvandlingen är klar.

Författaren till detta verktyg ger stöd för betalande kunder.

Pris: $ 149 (en gång)

Andra premiumalternativ

Vi testade också testversioner av dessa verktyg. Här är allmänna kommentarer om dem:

  • sid2scld (https://www.convert-in.com/pgs2sql.htm)
    Inga problem med anslutning till databas (du behöver inte installera ytterligare drivrutiner eller konfigurera dem på något sätt eller något annat). Har testversion (i testläge kopierar endast 50 poster per tabell, men kontrollerar alla rader och visar samma framsteg som om hela databasen kopierades). Har intern felsökning och visar möjliga problem med migration. Har många olika alternativ som kan tillämpas under migrering. Har support dygnet runt för betalda kunder. Endast användargränssnitt, Windows Endast.
    Pris $ 49 (en gång).
  • ESF Database Migration Toolkit (https://www.dbsofts.com/articles/postgresql_to_mysql/)
    Inga problem med anslutning till databas (du behöver inte installera ytterligare drivrutiner eller konfigurera dem på något sätt eller något annat). Har testversion (i testläge kopierar endast 50000 poster). Har intern felsökning och visar möjliga problem med migration. Har många olika alternativ som kan tillämpas under migrering. Har support dygnet runt för betalda kunder. Endast användargränssnitt, Windows Endast.
    Pris $ 322 (en gång).

Prova Easy Redmine i 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geolokalisering