en
Dil
  • en
  • de
  • fr
  • es
  • br
  • ru
  • jp
  • kr
AI çevirisi
  • ae
  • cn
  • vn
  • id
  • eu
  • il
  • gr
  • no
  • fi
  • dk
  • se
  • tr
  • bg
  • nl
  • it
  • pl
  • hu
  • ro
  • ua
  • cs

Postgres'ten MySQL'e geçiş yapın

Giriş

Easy Redmine sunucu yöneticilerinin iyiliği için Postgres'ten MySQL'e DB geçişi için birkaç aracı test ettik.

Biri ücretsiz bir açık kaynak ama aynı zamanda daha eski ve önemli bir dezavantajı var. Diğerleri, bizim görüşümüze göre satın almaya değer kılan sonuçlarla birinci sınıf araçlardı.

Ücretsiz seçenek - pg2mysql php betiği

Yasal Uyarı: Bu araç bir üçüncü şahıs tarafından geliştirilmiştir => Easy Software'in bir ürünü DEĞİLDİR ve bu nedenle GARANTİ EDİLMEZ.
Test edilmiş araç şu adreste mevcuttur:
http://www.lightbox.ca/pg2mysql.php
Araçta php 7.4 ile çalışması için kendi değişikliklerimizi yaptık. Ancak, kullanımın riski yine de kendisine aittir ve hiçbir şekilde GARANTİ VERMEMEKTEDİR.

Taşıma adımları

1. Komut dosyasını indirin ve arşivi paketinden çıkarın

wget http://www.lightbox.ca/pg2mysql/pg2mysql-1.9.tar.bz2  (yazardan orijinal komut dosyası içerir)
wget https://www.easyredmine.com/ER/media/knowledge-base/pg2mysql-1.9.zip (php sürüm 7.4 için değiştirilmiş komut dosyamızı içerir)

tar -xvf pg2mysql-1.9.tar.bz2(yazardan orijinal senaryo olması durumunda)
pg2mysql-1.9.zip dosyasını açın (php sürüm 7.4 için değiştirilmiş komut dosyamız olması durumunda)

2. php'yi yükleyin

sudo apt php7.4-cli'yi kurun (değiştirilmiş komut dosyamız olması durumunda)

3. .sql formatında bir PostgreSQL veritabanı dökümü oluşturun, "--format p --inserts" kullandığınızdan emin olun.

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

4. pg2mysql-1.9 klasörüne geçin

cd pg2mysql-1.9/

5. Çalıştırmak

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

gibi bazı çizgiler göreceksiniz

Tamamlandı! 30820 satır 5539 sql parçaları

Notlar:
 - Hayır, mükemmel değil
 - Evet, TÜM saklı yordamları atar
 - Evet, CREATE TABLE ve INSERT INTO dışındaki TÜM sorguları atar 
 - Evet, önerilerinizi bize e-posta ile gönderebilirsiniz: info[AT]lightbox.org
    - E-postalarda lütfen Postgres kodunu ve beklenen MySQL kodunu ekleyin
 - Postgres dökümünüzü oluştururken sorun yaşıyorsanız, "--format p --inserts" kullandığınızdan emin olun.
 - Belirtilmemişse varsayılan çıkış motoru MyISAM'dir"

6. Şimdi değiştirilmiş sql dökümü ile dosya oluşturulacak. Bunu gözden geçirmenizi ve MyISAM'i her yerde InnoDB ile değiştirmenizi şiddetle tavsiye ederiz.

7. Şimdi bu dökümü temiz mysql veritabanına geri yükleyebilirsiniz.

8. (Yazarın bize bildirdiği gibi) betik dizinleri kaydetmediğinden, bunları her tabloya manuel olarak eklemeniz gerekir. (indeksler olmadan çalışacaktır ancak ciddi performans sorunlarına neden olabilir). Normal Easy Redmine uygulaması tarafından oluşturulan MySQL tablolarında bulunması gereken tüm dizinlerin bir listesi vardır. Bunları manuel olarak veya kendi özel komut dosyasıyla eklemeniz gerekir.

İnternette başka ücretsiz araçlar da var. Ancak, test sonuçlarımız bunlarla ilgili tatmin edici değildi.

Proje yönetiminizi yükseltin

İhtiyaçlarınıza uyum sağlayan ve size mükemmel bir genel bakış sunan sonraki seviye Redmine özelliklerini edinin.

Premium araç - MySQL ve PostgreSQL için DB Dönüştürme v. 4.3.5

Toplamda 3 premium aracı test ettik. DBConvert en uygun olarak kabul edildi, bu nedenle bunun için ayrıntılı adımları açıklıyoruz.

Hazırlanışı:

1. Hem MySQL hem de PostgreSQL veritabanlarına dışarıdan erişilebildiğinden emin olun (geçici olarak izin verebilirsiniz).

2. Her iki dbs'ye de kullanıcı ve şifre ile giriş yapabildiğinizden emin olun.

3. Aracı şuradan yükleyin: - https://dbconvert.com/postgresql/mysql/

Dönüştürmeyi başlatın:

1. Sihirbazı başlatın.

2. Kaynak veritabanını seçin:
PostgreSQL
Hostname: postgres db'nin kurulu olduğu sunucunun ip veya alan adı.
Bağlantı noktası: varsayılandan farklıysa
Kullanıcı adı: db'yi dönüştüreceğiniz kullanıcı adı erişilebilir
Şifre: yukarıdaki kullanıcı için şifre.

Bağlantıyı test et düğmesine tıklayın. Uygulama, seçilen kullanıcı ve şifre ile kaynak db sunucusuna bağlanmanın mümkün olup olmadığını kontrol edecektir. Mümkünse, veritabanlarının listesi yüklenecektir - doğru olanı seçin.

3. "İleri"ye tıklayın. Uygulama, postgres'e bağlanacak ve veritabanında bulunan tabloların listesini alacaktır. Bunların tamamını veya sadece bir tanesini / birkaçını dönüştürülmesini seçebilirsiniz.

4. Biraz bekleyin, sonraki adıma yönlendirileceksiniz - MySQL bağlantı ayarları.
Hostname: mysql db'nin kurulu olduğu sunucunun ip veya alan adı.
Bağlantı noktası: varsayılandan farklıysa
Kullanıcı adı: db'yi dönüştüreceğiniz kullanıcı adı erişilebilir
Şifre: yukarıdaki kullanıcı için şifre.

Bağlantıyı test et düğmesine tıklayın. Uygulama, seçilen kullanıcı ve şifre ile kaynak db sunucusuna bağlanmanın mümkün olup olmadığını kontrol edecektir. Mümkünse, veritabanlarının listesi yüklenecektir - doğru olanı seçin.

5. Bir sonraki adımda, uygulama kaynak veritabanını kontrol edecek ve olası sorunları nasıl çözeceğiniz konusunda size bazı önerilerde bulunacaktır.

Bir sonraki sorunla karşılaştık:

Tablo "değiştirir" alanı "eylem". Orijinal DB'de "CHAR (1)" tipiydi. Ancak varsayılan değer '' idi, bu yüzden Mysql geçerli olmadığını düşündü. Yeni tip seçebilirsiniz. CHAR(2)'yi seçtik ve İleri'ye tıklayın. Sorun düzeltildi.

Diğer sorunlu alanlarla benzer eylemleri tekrarlayın.

6. Bir kez daha İleri'ye tıklayın. Uygulama, size toplam ve mevcut ilerlemeyi gösteren dönüştürmeye başlayacaktır. Dönüşüm tamamlanana kadar bekleyin.

7. "Çıkış"a tıklayın. Dönüşüm yapılır.

Bu aracın yazarı, ödeme yapan müşteriler için destek sağlar.

Fiyat: 149$ (tek seferlik)

Diğer premium seçenekler

Bu araçların deneme sürümlerini de test ettik. İşte onlar hakkında genel yorumlar:

  • pgs2scld (https://www.convert-in.com/pgs2sql.htm)
    Veritabanına bağlanma ile ilgili sorun yok (ek sürücüler yüklemeye veya bir şekilde veya başka bir şey kurmaya gerek yok). Deneme sürümüne sahiptir (deneme modunda tablo başına yalnızca 50 kayıt kopyalar, ancak tüm satırları kontrol eder ve tüm veritabanı kopyalanmış gibi aynı ilerlemeyi gösterir). Dahili hata ayıklayıcıya sahiptir ve geçişle ilgili olası sorunları gösterir. Taşıma sırasında uygulanabilecek birçok farklı seçeneğe sahiptir. Ücretli müşteriler için 24/7 destek vardır. yalnızca kullanıcı arayüzü, Windows bir tek.
    Fiyatı 49$ (tek seferlik).
  • ESF Veritabanı Taşıma Araç Seti (https://www.dbsofts.com/articles/postgresql_to_mysql/)
    Veritabanına bağlanma ile ilgili sorun yok (ek sürücüler yüklemeye veya bir şekilde veya başka bir şey kurmaya gerek yok). Deneme sürümüne sahiptir (deneme modunda yalnızca 50000 kayıt kopyalar). Dahili hata ayıklayıcıya sahiptir ve geçişle ilgili olası sorunları gösterir. Taşıma sırasında uygulanabilecek birçok farklı seçeneğe sahiptir. Ücretli müşteriler için 24/7 destek vardır. yalnızca kullanıcı arayüzü, Windows bir tek.
    Fiyatı 322$ (tek seferlik).

30 günlük ücretsiz deneme sürümünde Easy Redmine'i deneyin

Coğrafi konumunuzda tam özellikler, SSL korumalı, günlük yedeklemeler