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.

האחד הוא קוד פתוח בחינם, אך גם ישן יותר ובעל חסרון משמעותי. האחרים היו כלי פרימיום, עם תוצאות שלדעתנו הופכות את זה לשווה הרכישה.

אפשרות בחינם - סקריפט php pg2mysql

כתב ויתור: כלי זה פותח על ידי צד שלישי => הוא אינו תוצר של תוכנה קלה, ולכן אינו מובטח.
הכלי שנבדק זמין בכתובת:
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)

זפת -xvf pg2mysql-1.9.tar.bz2(במקרה של תסריט מקורי מאת הכותב)
לפתוח pg2mysql-1.9.zip (במקרה של הסקריפט שהשתנה עבור php גרסה 7.4)

2. התקן php

sudo apt להתקין php7.4-cli (במקרה של התסריט ששונו)

3. צור dump של מסד נתונים PostgreSQL בפורמט .sql, וודא שאתה משתמש "- פורמט p - inserts"

sudo -u postgres pg_dump - פורמט 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 גושי שטח

הערות:
 - לא זה לא מושלם
 - כן זה משליך את כל ההליכים המאוחסנים
 - כן זה משליך את כל השאילתות למעט CREATE TABLE ו- INSERT INTO 
 - כן אתה יכול לשלוח לנו הצעות בדוא"ל: מידע [AT] lightbox.org
    - בהודעות דוא"ל, אנא כלול את קוד Postgres ואת קוד MySQL הצפוי
 - אם אתה נתקל בבעיות ביצירת dump ה- postgres שלך, ודא שאתה משתמש "- פורמט p - inserts"
 - מנוע פלט ברירת מחדל אם לא צויין הוא MyISAM "

6. כעת ייווצר קובץ עם sql dump שונה. אנו ממליצים לך בחום לעבור על זה ולהחליף את MyISAM ל-InnoDB בכל מקום

7. כעת תוכל לשחזר את המזבלה הזו למסד נתונים ברור של mysql.

8. מכיוון (כפי שהמחבר הודיע ​​לנו) הסקריפט לא שומר אינדקסים, עליך להוסיף אותם ידנית לכל טבלה (זה יעבוד ללא אינדקסים אבל זה עלול לגרום לבעיות ביצועים חמורות). יש רשימה של כל האינדקסים שצריכים להתקיים בטבלאות MySQL שנוצרו על ידי יישום Easy Redmine הרגיל. עליך להוסיף אותם ידנית או באמצעות סקריפט מותאם אישית משלך.

ישנם כלים אחרים בחינם הזמינים באינטרנט. עם זאת, תוצאות הבדיקה שלנו לא היו מספקות לגבי אלה.

שדרג את ניהול הפרויקט שלך

קבל תכונות Redmine ברמה הבאה שמתאימות לצרכים שלך ומביאות לך סקירה מושלמת.

כלי פרימיום - DB Convert עבור MySQL & PostgreSQL נ '4.3.5

בדקנו לגמרי 3 כלי פרימיום. DBConvert הרגיש כמתאים ביותר, לכן אנו מתארים את הצעדים המפורטים עבורו.

אופן ההכנה:

1. ודא שגם מסדי הנתונים של MySQL וגם של PostgreSQL נגישים מבחוץ (תוכל לאפשר זאת באופן זמני).

2. וודא שאתה יכול להתחבר לשני ה- dbs באמצעות משתמש וסיסמה

3. התקן את הכלי מ - https://dbconvert.com/postgresql/mysql/

התחל את ההמרה:

1. הפעל את האשף.

2. בחר מסד נתונים מקור:
PostgreSQL
שם מארח: ip או שם תחום של השרת שבו מותקן postgres db.
יציאה: אם שונה מברירת המחדל
שם משתמש: שם המשתמש שאליו אתה מתכוון להמיר נגיש
סיסמה: סיסמה למשתמש למעלה.

לחץ על לחצן בדיקת חיבור. האפליקציה תבדוק שאפשר להתחבר לשרת db המקור עם המשתמש והסיסמה שנבחרו. אם זה אפשרי, רשימת מאגרי המידע תועלה - קח את הרשימה הנכונה.

3. לחץ על "הבא". האפליקציה תתחבר ל-postgres ותקבל את רשימת הטבלאות הזמינות במסד הנתונים. אתה יכול לבחור את כולם להמרה או רק אחד / מעטים מהם.

4. המתן קצת ותועבר לשלב הבא - הגדרות חיבור MySQL.
שם מארח: ip או שם תחום של השרת שבו מותקן mysql db.
יציאה: אם שונה מברירת המחדל
שם משתמש: שם המשתמש שאליו אתה מתכוון להמיר נגיש
סיסמה: סיסמה למשתמש למעלה.

לחץ על לחצן בדיקת חיבור. האפליקציה תבדוק שאפשר להתחבר לשרת db המקור עם המשתמש והסיסמה שנבחרו. אם זה אפשרי, רשימת מאגרי המידע תועלה - קח את הרשימה הנכונה.

5. בשלב הבא היישום יבדוק את מאגר המקורות וייתן לך המלצות כיצד לפתור בעיות אפשריות.

פגשנו את הבעיה הבאה:

טבלה "משנה" פעולה "בשדה". ב- DB המקורי זה היה סוג "CHAR (1)". אבל ערך ברירת המחדל היה '', כך ש- Mysql הניח שהוא לא תקף. אתה יכול לבחור סוג חדש. בחרנו CHAR (2) ולחץ על הבא. הבעיה תוקנה.

חזור על פעולות דומות עם כל תחומים בעייתיים אחרים.

6. לחץ על הבא פעם נוספת. היישום יתחיל המרה ויציג לך את ההתקדמות הכוללת והנוכחית. המתן עד לסיום ההמרה.

7. לחץ על "יציאה". ההמרה נעשית.

מחבר כלי זה מספק תמיכה ללקוחות משלמים.

מחיר: $ 149 (פעם אחת)

אפשרויות פרימיום אחרות

בדקנו גם גרסאות ניסיון של כלים אלה. להלן הערות כלליות לגביהם:

  • 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, גיבויים יומיים, במיקום הגיאוגרפי שלך