en
Γλώσσα
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
Μετάφραση AI
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Μετεγκατάσταση από το Postgres στη MySQL

Εισαγωγή

Για χάρη σας, διαχειριστές διακομιστή Easy Redmine, δοκιμάσαμε μερικά εργαλεία για τη μετεγκατάσταση DB από το Postgres στο MySQL.

Το ένα είναι δωρεάν ανοιχτού κώδικα, αλλά και παλαιότερο και με σημαντικό μειονέκτημα. Οι άλλοι ήταν premium εργαλεία, με αποτελέσματα που, κατά τη γνώμη μας, το αξίζουν στην αγορά.

Δωρεάν επιλογή - σενάριο pg2mysql php

Αποποίηση ευθυνών: Αυτό το εργαλείο αναπτύχθηκε από τρίτο μέρος => ΔΕΝ είναι προϊόν Εύκολου Λογισμικού και επομένως ΔΕΝ ΕΓΓΥΗΤΑΙ.
Το δοκιμασμένο εργαλείο διατίθεται στη διεύθυνση:
http://www.lightbox.ca/pg2mysql.php
Κάναμε τις δικές μας τροποποιήσεις στο εργαλείο για να το κάνουμε να λειτουργεί με php 7.4. Ωστόσο, η χρήση εξακολουθεί να είναι με δική της ευθύνη και δεν παρέχουμε καμία εγγύηση.

Βήματα για τη μετανάστευση

1. Κάντε λήψη του σεναρίου και αποσυσκευάστε το αρχείο

wget http://www.lightbox.ca/pg2mysql/pg2mysql-1.9.tar.bz2  (περιέχει πρωτότυπο σενάριο από τον συγγραφέα)
wget https://www.easyredmine.com/ER/media/knowledge-base/pg2mysql-1.9.zip (περιέχει το τροποποιημένο σενάριο για php έκδοση 7.4)

tar -xvf pg2mysql-1.9.tar.bz2(σε περίπτωση πρωτότυπου σεναρίου από τον συγγραφέα)
αποσυμπιέστε pg2mysql-1.9.zip (σε περίπτωση τροποποιημένου σεναρίου για php έκδοση 7.4)

2. Εγκαταστήστε το php

sudo apt εγκατάσταση php7.4-cli (στην περίπτωση του τροποποιημένου σεναρίου μας)

3. Δημιουργήστε μια απόρριψη βάσης δεδομένων PostgreSQL σε μορφή .sql, βεβαιωθείτε ότι χρησιμοποιείτε το "--format p --inserts"

sudo -u postgres pg_dump --format p - εισαγωγές DBNAME_HERE> /path/to/file.sql

4. Μεταβείτε στο φάκελο pg2mysql-1.9

cd pg2mysql-1.9 /

5. τρέξιμο

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

Θα δείτε μερικές γραμμές όπως

Ολοκληρώθηκε το! 30820 γραμμές 5539 τετραγωνικά τεμάχια

:
 - Όχι δεν είναι τέλειο
 - Ναι απορρίπτει ΟΛΕΣ τις αποθηκευμένες διαδικασίες
 - Ναι, απορρίπτει ΟΛΑ τα ερωτήματα, εκτός από το ΔΗΜΙΟΥΡΓΙΑ ΠΙΝΑΚΑ και ΕΙΣΑΓΩΓΗ 
 - Ναι, μπορείτε να μας στείλετε μέσω email προτάσεις: info [AT] lightbox.org
    - Στα μηνύματα ηλεκτρονικού ταχυδρομείου, συμπεριλάβετε τον κωδικό Postgres και τον αναμενόμενο κωδικό MySQL
 - Εάν αντιμετωπίζετε προβλήματα με τη δημιουργία του postgres dump, βεβαιωθείτε ότι χρησιμοποιείτε το "--format p --inserts"
 - Ο προεπιλεγμένος κινητήρας εξόδου εάν δεν προσδιορίζεται είναι το MyISAM "

6. Τώρα θα δημιουργηθεί αρχείο με τροποποιημένο sql dump. Σας συμβουλεύουμε ανεπιφύλακτα να το περάσετε και να αντικαταστήσετε το MyISAM σε InnoDB παντού

7. Τώρα μπορείτε να επαναφέρετε αυτήν την απόρριψη σε καθαρή βάση δεδομένων mysql.

8. Επειδή (όπως μας ειδοποίησε ο συγγραφέας) το σενάριο δεν αποθηκεύει ευρετήρια, πρέπει να τα προσθέσετε χειροκίνητα σε κάθε πίνακα (θα λειτουργήσει χωρίς ευρετήρια, αλλά μπορεί να προκαλέσει σοβαρά προβλήματα απόδοσης). Υπάρχει μια λίστα με όλα τα ευρετήρια που πρέπει να υπάρχουν στους πίνακες MySQL που δημιουργούνται από την κανονική εφαρμογή Easy Redmine. Πρέπει να τα προσθέσετε χειροκίνητα ή μέσω του δικού σας προσαρμοσμένου σεναρίου.

Υπάρχουν άλλα δωρεάν εργαλεία διαθέσιμα στον Ιστό. Ωστόσο, τα αποτελέσματα των δοκιμών μας δεν ήταν ικανοποιητικά σε αυτά.

Αναβαθμίστε τη διαχείριση του έργου σας

Αποκτήστε λειτουργίες Redmine επόμενου επιπέδου που προσαρμόζονται στις ανάγκες σας και σας προσφέρουν τέλεια επισκόπηση.

Premium εργαλείο - Μετατροπή DB για MySQL & PostgreSQL v. 4.3.5

Δοκιμάσαμε συνολικά 3 premium εργαλεία. Το DBConvert θεωρήθηκε ως το πιο κατάλληλο, επομένως περιγράφουμε τα λεπτομερή βήματα για αυτό.

Προετοιμασία:

1. Βεβαιωθείτε ότι και οι δύο βάσεις δεδομένων MySQL και PostgreSQL είναι προσβάσιμες από έξω (μπορείτε να το επιτρέψετε προσωρινά).

2. Βεβαιωθείτε ότι μπορείτε να συνδεθείτε και στα δύο dbs με χρήστη και κωδικό πρόσβασης

3. Εγκαταστήστε το εργαλείο από - https://dbconvert.com/postgresql/mysql/

Ξεκινήστε τη μετατροπή:

1. Ξεκινήστε τον οδηγό.

2. Επιλέξτε βάση δεδομένων πηγής:
PostgreSQL
Όνομα κεντρικού υπολογιστή: ip ή όνομα τομέα του διακομιστή όπου είναι εγκατεστημένο το postgres db.
Θύρα: εάν διαφέρει από προεπιλογή
Όνομα χρήστη: το όνομα χρήστη με το οποίο θα μετατρέψετε db θα είναι προσβάσιμο
Κωδικός πρόσβασης: κωδικός πρόσβασης για τον παραπάνω χρήστη.

Κάντε κλικ στο κουμπί Δοκιμή σύνδεσης. Η εφαρμογή θα ελέγξει ότι είναι δυνατή η σύνδεση με τον διακομιστή db προέλευσης με επιλεγμένο χρήστη και κωδικό πρόσβασης. Εάν είναι δυνατόν, θα ανεβεί ο κατάλογος των βάσεων δεδομένων - πάρτε τη σωστή.

3. Κάντε κλικ στο "Επόμενο". Η εφαρμογή θα συνδεθεί στο postgres και θα λάβει τη λίστα με τους διαθέσιμους πίνακες στη βάση δεδομένων. Μπορείτε να επιλέξετε όλα για μετατροπή ή μόνο ένα / λίγα από αυτά.

4. Περιμένετε λίγο και θα προωθηθείτε στο επόμενο βήμα - Ρυθμίσεις σύνδεσης MySQL.
Όνομα κεντρικού υπολογιστή: ip ή όνομα τομέα του διακομιστή όπου είναι εγκατεστημένο το mysql db.
Θύρα: εάν διαφέρει από προεπιλογή
Όνομα χρήστη: το όνομα χρήστη με το οποίο θα μετατρέψετε db θα είναι προσβάσιμο
Κωδικός πρόσβασης: κωδικός πρόσβασης για τον παραπάνω χρήστη.

Κάντε κλικ στο κουμπί Δοκιμή σύνδεσης. Η εφαρμογή θα ελέγξει ότι είναι δυνατή η σύνδεση με τον διακομιστή db προέλευσης με επιλεγμένο χρήστη και κωδικό πρόσβασης. Εάν είναι δυνατόν, θα ανεβεί ο κατάλογος των βάσεων δεδομένων - πάρτε τη σωστή.

5. Στο επόμενο βήμα, η εφαρμογή θα ελέγξει τη βάση δεδομένων προέλευσης και θα σας δώσει μερικές συστάσεις για την επίλυση πιθανών προβλημάτων.

Αντιμετωπίσαμε το επόμενο πρόβλημα:

Πίνακας "αλλαγές" πεδίο "δράση". Στην αρχική DB ήταν ο τύπος "CHAR (1)". Αλλά η προεπιλεγμένη τιμή ήταν "", οπότε ο Mysql υποτίθεται ότι δεν είναι έγκυρος. Μπορείτε να επιλέξετε Νέο τύπο. Επιλέξαμε το CHAR (2) και κάντε κλικ στο Επόμενο. Το πρόβλημα επιλύθηκε.

Επαναλάβετε παρόμοιες ενέργειες με άλλα προβληματικά πεδία.

6. Κάντε κλικ στο Επόμενο άλλη μια φορά. Η εφαρμογή θα ξεκινήσει τη μετατροπή δείχνοντάς σας τη συνολική και την τρέχουσα πρόοδο. Περιμένετε μέχρι να ολοκληρωθεί η μετατροπή.

7. Κάντε κλικ στο "Έξοδος". Η μετατροπή έγινε.

Ο συγγραφέας αυτού του εργαλείου παρέχει υποστήριξη για πελάτες που πληρώνουν.

Τιμή: 149 $ (μία φορά)

Άλλες επιλογές premium

Δοκιμάσαμε επίσης δοκιμαστικές εκδόσεις αυτών των εργαλείων. Ακολουθούν γενικά σχόλια σχετικά με αυτά:

  • pgs2scld (https://www.convert-in.com/pgs2sql.htm)
    Δεν υπάρχουν προβλήματα με τη σύνδεση σε βάση δεδομένων (δεν χρειάζεται να εγκαταστήσετε πρόσθετα προγράμματα οδήγησης ή να τα ρυθμίσετε με κάποιο τρόπο ή οτιδήποτε άλλο). Έχει δοκιμαστική έκδοση (σε δοκιμαστική λειτουργία αντιγράφει μόνο 50 εγγραφές ανά πίνακα, αλλά ελέγχει όλες τις γραμμές και δείχνει την ίδια πρόοδο σαν να αντιγράφηκε ολόκληρη η βάση δεδομένων). Έχει εσωτερικό πρόγραμμα εντοπισμού σφαλμάτων και δείχνει πιθανά προβλήματα με τη μετεγκατάσταση. Έχει πολλές διαφορετικές επιλογές που μπορούν να εφαρμοστούν κατά τη μετεγκατάσταση. Έχει υποστήριξη 24/7 για πληρωμένους πελάτες. Μόνο διεπαφή χρήστη, Windows μόνο.
    Τιμή 49 $ (μία φορά).
  • Εργαλειοθήκη μετεγκατάστασης βάσης δεδομένων ESF (https://www.dbsofts.com/articles/postgresql_to_mysql/)
    Δεν υπάρχουν προβλήματα με τη σύνδεση σε βάση δεδομένων (δεν χρειάζεται να εγκαταστήσετε πρόσθετα προγράμματα οδήγησης ή να τα ρυθμίσετε με κάποιο τρόπο ή οτιδήποτε άλλο). Έχει δοκιμαστική έκδοση (σε δοκιμαστική λειτουργία αντιγράφει μόνο 50000 εγγραφές). Έχει εσωτερικό πρόγραμμα εντοπισμού σφαλμάτων και δείχνει πιθανά προβλήματα με τη μετεγκατάσταση. Έχει πολλές διαφορετικές επιλογές που μπορούν να εφαρμοστούν κατά τη μετεγκατάσταση. Έχει υποστήριξη 24/7 για πληρωμένους πελάτες. Μόνο διεπαφή χρήστη, Windows μόνο.
    Τιμή 322 $ (μία φορά).

Δοκιμάστε το Easy Redmine σε δωρεάν δοκιμή 30 ημερών

Πλήρεις δυνατότητες, προστασία SSL, καθημερινά αντίγραφα ασφαλείας, στη γεωγραφική σας τοποθεσία