GoGPT Best VPN GoSearch

OnWorks favicon'u

mysqldbcompare - Bulutta Çevrimiçi

OnWorks ücretsiz barındırma sağlayıcısında mysqldbcompare'i Ubuntu Online, Fedora Online, Windows çevrimiçi öykünücüsü veya MAC OS çevrimiçi öykünücüsü üzerinden çalıştırın

Bu, Ubuntu Online, Fedora Online, Windows çevrimiçi emülatörü veya MAC OS çevrimiçi emülatörü gibi birden fazla ücretsiz çevrimiçi iş istasyonumuzdan birini kullanarak OnWorks ücretsiz barındırma sağlayıcısında çalıştırılabilen mysqldbcompare komutudur.

Program:

ADI


mysqldbcompare - İki Veritabanını Karşılaştırın ve Farkları Tanımlayın

SİNOPSİS


mysqldbkarşılaştır [seçenekleri] db1 [:db2] Kendi ID’n ile mağazalarını oluştur

AÇIKLAMA


Bu yardımcı program, farklılıkları bulmak için iki veritabanındaki nesneleri ve verileri karşılaştırır. Bilişim Teknoloji
iki veritabanında farklı tanımlara sahip nesneleri tanımlar ve bunları sunar.
bir diff tarzı seçim biçimi. Verilerdeki farklılıklar benzer bir şekilde gösterilmiştir.
diff tarzı format. Değiştirilen veya eksik satırlar standart bir GRID, CSV,
SEKME veya DİKEY.

Karşılaştırmak üzere iki veritabanını adlandırmak için db1:db2 gösterimini kullanın veya alternatif olarak sadece db1 ile
aynı ada sahip iki veritabanını karşılaştırın. İkinci durum için bir kolaylık gösterimidir
aynı adlı veritabanlarını farklı sunucularda karşılaştırma.

Karşılaştırma, tek bir sunucuda farklı adlara sahip iki veritabanına karşı çalıştırılabilir.
sadece belirterek --Sunucu 1 seçenek. Kullanıcı ayrıca başka bir sunucuya şu şekilde bağlanabilir:
belirten --Sunucu 2 seçenek. Bu durumda, db1 sunucu1'den ve db2 sunucudan alınır.
sunucu2.

Veritabanında dikkate alınan bu nesneler arasında tablolar, görünümler, tetikleyiciler, prosedürler,
fonksiyonlar ve olaylar. Her nesne türü için bir sayı, aşağıdakilerle gösterilebilir: -vv seçeneği.

Kontrol, testler adı verilen bir dizi adım kullanılarak gerçekleştirilir. Varsayılan olarak, yardımcı program durur
başarısız olan ilk testte, ancak --tüm testleri çalıştır neden olma seçeneği
son durumlarından bağımsız olarak tüm testleri çalıştırmak için yardımcı program.

Not: kullanma --tüm testleri çalıştır beklenen kademeli arızalar üretebilir. Örneğin, eğer satır
sayıları karşılaştırılan iki tablo arasında farklılık gösterir, veri tutarlılığı da başarısız olur.

Testler aşağıdakileri içerir:

1. Veritabanı tanımlarını kontrol edin

Bir veritabanı varlığı ön koşulu denetimi, her iki veritabanının da mevcut olmasını sağlar. Yaparlarsa
hayır, daha fazla işleme mümkün değildir ve --tüm testleri çalıştır seçeneği yoksayılır.

2. Her iki veritabanındaki nesnelerin varlığını kontrol edin

Her iki veritabanındaki nesneler için yapılan test, bir veya daha fazla veri tabanında eksik olan nesneleri tanımlar.
başka bir veritabanı. Kalan testler yalnızca her ikisinde de görünen nesneler için geçerlidir.
veritabanları. Bu testi atlamak için, --atla-nesne-karşılaştır seçenek. Bu yararlı olabilir
veritabanları arasında bilinen eksik nesneler olduğunda.

3. Nesne tanımlarını karşılaştırın

Tanımlar ( CREATE ifadeler) karşılaştırılmakta ve farklılıklar sunulmaktadır. NS
bu testi atlayın, --atla-fark seçenek. Nesne olduğunda bu yararlı olabilir
yalnızca göz ardı etmek istediğiniz farklılıkları adlandırın.

4. Tablo satır sayılarını kontrol edin

Bu kontrol, her iki tablonun da aynı sayıda satıra sahip olmasını sağlar. bu garanti etmez
tablo verilerinin tutarlı olduğunu. Bu, yalnızca olası olduğunu belirtmek için yapılan üstünkörü bir kontroldür.
bir tabloda veya diğerinde eksik satırlar. Veri tutarlılığı kontrolü şunları tanımlar:
eksik satırlar Bu testi atlamak için, --atla-satır-sayısı seçeneği.

5. Tablo veri tutarlılığını kontrol edin

Bu kontrol, hem değiştirilen satırları hem de bir veya diğerindeki eksik satırları tanımlar.
veritabanlarındaki tablolar. Değiştirilen satırlar, farklı stilde bir rapor olarak görüntülenir.
seçilen biçim (GRID varsayılan olarak) ve eksik satırlar da kullanılarak görüntülenir.
biçimi seçilmiştir. Bu testi atlamak için, --atla-veri-kontrol seçeneği.

Testlerden yalnızca birini çalıştırmak için --skip-xxx seçeneklerini kullanmak isteyebilirsiniz. Bu olabilir
tümünü çalıştırmaktan kaçınmak için iki veritabanını senkronizasyona getirmeye çalışırken yardımcı olur.
Süreç boyunca tekrar tekrar testler.

Her test aşağıdaki durumlardan biriyle tamamlanır:

· geçmek

Test başarılı oldu.

· FAIL

Test başarısız oldu. Test durumu satırının ardından hatalar görüntülenir.

· ATLAMA

Eksik bir ön koşul veya atlama seçeneği nedeniyle test atlandı.

· WARN

Test olağandışı ancak ölümcül olmayan bir hatayla karşılaştı.

· -

Test bu nesneye uygulanamaz.

Fark stili çıktının nasıl görüntüleneceğini belirtmek için, aşağıdaki değerlerden birini
--difftype seçenek:

· birleşik (Varsayılan)

Birleşik format çıktısını görüntüleyin.

· bağlam

Bağlam biçimi çıktısını görüntüleyin.

· farklılık

Farklı stilde format çıktısını görüntüleyin.

· sql

SQL dönüşüm ifadesi çıktısını görüntüleyin.

Değiştirilen veya eksik satırlar için çıktının nasıl görüntüleneceğini belirtmek için aşağıdakilerden birini kullanın.
ile değerler --biçim seçenek:

· ızgara (Varsayılan)

Çıktıyı aşağıdaki gibi ızgara veya tablo formatında görüntüleyin. mysql izlemek.

· csv

Çıktıyı virgülle ayrılmış değerler biçiminde görüntüleyin.

· çıkıntı

Çıktıyı sekmeyle ayrılmış biçimde görüntüleyin.

· dikey

Çıktıyı, aşağıdakiler için \G komutununki gibi tek sütun biçiminde görüntüleyin. mysql
izlemek.

The --değişiklikler-için seçeneği, farkın yönünü kontrol eder (belirterek
dönüştürülecek nesne) fark raporunda (varsayılan) veya dönüşümde
raporu (ile belirtilen --difftype=sql seçenek). Aşağıdaki komutu göz önünde bulundurun:

mysqldbcompare --sunucu1=kök@anasistem1 --sunucu2=kök@anasistem2 --difftype=sql \
db1:dbx

En soldaki veritabanı (db1), tarafından belirlenen sunucuda bulunur. --Sunucu 1 seçenek
(ana bilgisayar1). En sağdaki veritabanı (dbx), tarafından belirlenen sunucuda bulunur. --Sunucu 2
seçenek (ana bilgisayar2).

· --changes-for=sunucu1: Tanımların nasıl yapılacağını gösteren çıktı üretin
sunucu1'deki nesneler, sunucu2'deki karşılık gelen nesnelerin tanımları gibi.

· --changes-for=sunucu2: Tanımların nasıl yapılacağını gösteren çıktı üretin
sunucu2'deki nesneler, sunucu1'deki karşılık gelen nesnelerin tanımları gibi.

Varsayılan yön sunucu1'dir.

Bir hesap için bağlantı parametreleri (kullanıcı, ana bilgisayar, parola vb.) sağlamalısınız
işlemdeki tüm nesnelere erişmek için uygun ayrıcalıklara sahip olan.

Yardımcı program ikili günlük kaydının etkinleştirildiği bir sunucuda çalıştırılacaksa ve
karşılaştırma adımlarının günlüğe kaydedilmesini istiyorsanız, --disable-ikili-loglama seçeneği.
SEÇENEKLER

mysqldbkarşılaştır aşağıdaki komut satırı seçeneklerini kabul eder:

· --hepsi, -a

Tüm veritabanlarını dahil et. 1.3.5 sürümünde eklendi.

· --Yardım

Bir yardım mesajı görüntüleyin ve çıkın.

· --değişiklikler-for=

Diğer sunucuyla eşleşecek dönüşümleri gösterecek sunucuyu belirtin. örneğin,
sunucu1'deki nesne tanımlarını aşağıdakilerle eşleşecek şekilde dönüştürmek için dönüşüme bakın
server2'de karşılık gelen tanımlar, --changes-for=sunucu1. İzin verilen değerler
server1 ve server2. Varsayılan, server1.

· --difftype= , -NS

Fark görüntüleme biçimini belirtin. İzin verilen biçim değerleri birleşik, bağlam,
farklılık, ve sql. Varsayılan, birleşik.

· --devre dışı-ikili-günlüğe kaydetme

İkili günlük kaydı etkinse, karşılaştırmayı önlemek için işlem sırasında devre dışı bırakın
işlemlerin ikili günlüğe yazılmasını engeller. Not: İkili günlük kaydını devre dışı bırakma
gerektirir Kişiye Özel ayrıcalık.

· --hariç tut= , -x

gibi belirli bir ad kullanarak bir veya daha fazla veritabanını işlemden hariç tutun.
db1 veya bir arama kalıbı. Birden fazla belirtmek için bu seçeneği birden çok kez kullanın.
istisnalar. Varsayılan olarak, kalıplar, aşağıdakiler gibi veritabanı kalıplarını kullanır: GİBİ. Ile --normal ifade
seçeneği, desenler eşleşen adlar için normal ifadeler kullanır. 1.3.5 sürümünde eklendi.

· --format= , -F

Değiştirilen veya eksik satırlar için görüntüleme biçimini belirtin. İzin verilen biçim değerleri
ızgara, csv, çıkıntı, ve dikey. Varsayılan, ızgara.

· --sessiz, -q

Hiçbir şey yazdırmayın. Yalnızca başarılı veya başarısız bir çıkış kodu döndürün.

· --regexp, --temel-regexp, -G

kullanarak desen eşleşmeleri gerçekleştirin. regexp Şebeke. Varsayılan, kullanmaktır GİBİ için
eşleştirme. 1.3.5 sürümünde eklendi.

· --tüm testleri çalıştır, -t

Bulunan ilk farkta durmayın. Tüm nesneleri işleyin. Kısayol değiştirildi
-a'dan -t'ye sürüm-1.3.5'te.

· --sunucu1=

Biçimdeki ilk sunucu için bağlantı bilgileri:
<kullanıcı>[:passwd>]@ev sahibi>[:Liman>>][:soket>] veyaoturum açma yolu>[:Liman>>][:soket>].

· --sunucu2=

İkinci sunucu için şu biçimde bağlantı bilgileri:
<kullanıcı>[:passwd>]@ev sahibi>[:Liman>>][:soket>] veyaoturum açma yolu>[::Liman>>][::soket>].

· --göster-ters

Nesneye uyması için SQL deyimlerini içeren bir dönüşüm raporu üretin
Tanımlar ters olarak belirtilmiştir. Örneğin, --changes-for sunucu1 olarak ayarlanmışsa,
ayrıca server2 için dönüşümü de oluşturun. Not: Ters değişiklikler açıklamalıdır
ve yorum olarak işaretlendi.

· --atla-veri-kontrol

Veri tutarlılığı kontrolünü atlayın.

· --atla-fark

Nesne tanımı farkı kontrolünü atlayın.

· --atla-nesne-karşılaştır

Nesne karşılaştırma kontrolünü atlayın.

· --atla-satır-sayısı

Satır sayısı kontrolünü atlayın.

· --span-key-size=

Tablo içeriğini karşılaştırmak için kullanılan anahtarın boyutunu değiştirin. Daha yüksek bir değer yardımcı olabilir
büyük veritabanlarını karşılaştırarak daha doğru sonuçlar alın, ancak algoritmayı yavaşlatabilir.

Varsayılan değer 8'dir.

· --ayrıntılı, -v

Ne kadar bilgi görüntüleneceğini belirtin. artırmak için bu seçeneği birden çok kez kullanın.
bilgi miktarı. Örneğin, -v = ayrıntılı, -vv = daha ayrıntılı, -vvv =
hata ayıklama.

· --versiyon

Sürüm bilgilerini görüntüleyin ve çıkın.

· --genişlik=

Test raporunun görüntü genişliğini değiştirin. Varsayılan 75 karakterdir.
NOTLAR

Oturum açan kullanıcı, tüm veritabanlarını ve tabloları okumak için uygun izinlere sahip olmalıdır.
listelenmiş.

Için --difftype seçeneği, izin verilen değerler büyük/küçük harfe duyarlı değildir. Ek olarak,
değerler, geçerli bir değerin herhangi bir açık ön eki olarak belirtilebilir. Örneğin,
--difftype=d farklı türü belirtir. Bir önek birden fazla eşleşirse bir hata oluşur
geçerli değer.

MySQL istemci araçlarına giden yol, içindeki PATH ortam değişkenine dahil edilmelidir.
oturum açma yollarıyla kimlik doğrulama mekanizmasını kullanmak için. Bu, yardımcı programın
giriş yolu değerlerini okumak için gerekli olan my_print_defaults araçlarını kullanın.
oturum açma yapılandırma dosyası (.mylogin.cnf).

Argüman olarak belirtilen herhangi bir veritabanı tanımlayıcısı özel karakterler içeriyorsa veya
ayrılmış kelime, o zaman ters tiklerle uygun şekilde alıntılanmalıdır (`). Sırayla, isimler
ters tırnaklarla alıntılananlar, aynı zamanda, duruma bağlı olarak tek veya çift tırnak ile alıntılanmalıdır.
işletim sistemi, yani (") Windows'ta veya (') için, Windows olmayan sistemlerde
Tek bir argüman olarak alıntılanan tanımlayıcıları okumak için yardımcı programlar. örneğin,
bir veritabanını adıyla karşılaştırın garip`db.name ile diğer:garip`db.name, veritabanı çifti
aşağıdaki sözdizimi kullanılarak belirtilmelidir (Windows olmayanlarda):
''tuhaf'' db.name':'diğer:tuhaf''db.name''.
ÖRNEKLER

Yerel sunucudaki emp1 ve emp2 veritabanlarını karşılaştırmak için aşağıdaki komutu kullanın ve
önceki testler başarısız olsa bile tüm testleri çalıştırın:

$ mysqldbcompare --server1=root@localhost emp1:emp2 --run-all-tests
# server1 localhost'ta: ... bağlandı.
# Sunucu1'de emp1 ve sunucu2'de emp2 veritabanları kontrol ediliyor
UYARI: server2:emp2'deki ancak server1:emp1'deki olmayan nesneler:
TETİKLEYİCİ: trg
PROSEDÜR: p1
TABLO: t1
GÖRÜNTÜLE: v1
Defn Satır Verileri
Tip Nesne Adı Fark Sayısı Kontrol
-------------------------------------------------- -------------------------
FONKSİYON f1 geçişi - -
TABLO bölümleri geçer BAŞARISIZ
Satırlar arasında bulunan veri farklılıkları:
--- emp1.departmanlar
+++ emp2.departmanları
@@ -1,4 + 1,4 @@
************************* 1. sıra ************************* ***
borç_no: d002
- bölüm_adı: bilmiyorum
+ dept_name: Finans
1 satır.
emp1.departments'daki satırlar, emp2.departments'ta olmayan satırlar
************************* 1. sıra ************************* ***
borç_no: d008
dept_name: Araştırma
1 satır.
emp2.departments'daki satırlar, emp1.departments'ta olmayan satırlar
************************* 1. sıra ************************* ***
borç_no: d100
dept_name: aptal
1 satır.
TABLE dept_manager geçiş geçiş geçişi
Veritabanı tutarlılığı denetimi başarısız oldu.
# ...tamamlamak

Verilen: aynı tablo düzenine sahip iki veritabanı. Her tablo için veriler şunları içerir:

mysql> db1.t1'den * seçin;
+---+-----------------+
| bir | b |
+---+-----------------+
| 1 | 789 testi |
| 2 | 456 testi |
| 3 | 123 testi |
| 4 | Yeni satır - db1 |
+---+-----------------+
Sette 4 satır (0.00 sn)
mysql> db2.t1'den * seçin;
+---+-----------------+
| bir | b |
+---+-----------------+
| 1 | 123 testi |
| 2 | 456 testi |
| 3 | 789 testi |
| 5 | Yeni satır - db2 |
+---+-----------------+
Sette 4 satır (0.00 sn)

db1.t1'i db2.t1 ile aynı yapmak için veri dönüştürmeleri için SQL deyimlerini oluşturmak için
kullan --changes-for=sunucu1 seçenek. Ayrıca şunları da eklemeliyiz: -a Bunu sağlamak için seçenek
veri tutarlılığı testi çalıştırılır. Aşağıdaki komut, kullanılan seçenekleri gösterir ve
üretilen sonuçlardan bir alıntı:

$ mysqldbcompare --server1=root:root@localhost \
--sunucu2=kök:kök@localhost db1:db2 --changes-for=sunucu1 -a \
--difftype=sql
[...]
# Defn Satır Verisi
# Tip Nesne Adı Fark Sayısı
Kontrol etmek #
-------------------------------------------------- -----------------------
# TABLO t1 geçer geçer BAŞARISIZ
# # Yön için veri dönüşümleri = sunucu1:
# Satırlar arasında bulunan veri farklılıkları: UPDATE db1.t1 SET b = 'Test 123'
NEREDE a = '1'; GÜNCELLEME db1.t1 SET b = 'Test 789' NEREDE a = '3'; SİLMEK
db1.t1'DEN NEREDE a = '4'; INSERT INTO db1.t1 (a, b) DEĞERLER('5', 'Yeni
satır - db2');
# Veritabanı tutarlılık denetimi başarısız oldu. # # ...tamamlamak

Benzer şekilde, aynı komut çalıştırıldığında --changes-for=sunucu2 ve --difftype=sql,
aşağıdaki rapor oluşturulur:

$ mysqldbcompare --server1=root:root@localhost \
--sunucu2=kök:kök@localhost db1:db2 --changes-for=sunucu2 -a \
--difftype=sql
[...]
# Defn Satır Verisi
# Tip Nesne Adı Fark Sayısı
Kontrol etmek #
-------------------------------------------------- -----------------------
# TABLO t1 geçer geçer BAŞARISIZ
# # Yön için veri dönüşümleri = sunucu2:
# Satırlar arasında bulunan veri farklılıkları: UPDATE db2.t1 SET b = 'Test 789'
NEREDE a = '1'; GÜNCELLEME db2.t1 SET b = 'Test 123' NEREDE a = '3'; SİLMEK
db2.t1'DEN NEREDE a = '5'; INSERT INTO db2.t1 (a, b) DEĞERLER('4', 'Yeni
satır - db1');

İle --difftype=sql SQL nesil seçenek seti, --göster-ters nesneyi gösterir
her iki yönde dönüşümler. İşte sonuçlardan bir alıntı:

$ mysqldbcompare --server1=root:root@localhost \
--server2=root:root@localhost db1:db2 --changes-for=sunucu1 \
--show-reverse -a --difftype=sql
[...]
# Defn Satır Verisi
# Tip Nesne Adı Fark Sayısı
Kontrol etmek #
-------------------------------------------------- -----------------------
# TABLO t1 geçer geçer BAŞARISIZ
# # Yön için veri dönüşümleri = sunucu1:
# Satırlar arasında bulunan veri farklılıkları: UPDATE db1.t1 SET b = 'Test 123'
NEREDE a = '1'; GÜNCELLEME db1.t1 SET b = 'Test 789' NEREDE a = '3'; SİLMEK
db1.t1'DEN NEREDE a = '4'; INSERT INTO db1.t1 (a, b) DEĞERLER('5', 'Yeni
satır - db2');
# Yön = sunucu2 için veri dönüşümleri:
# Satırlar arasında bulunan veri farklılıkları: UPDATE db2.t1 SET b = 'Test 789'
NEREDE a = '1'; GÜNCELLEME db2.t1 SET b = 'Test 123' NEREDE a = '3'; SİLMEK
db2.t1'DEN NEREDE a = '5'; INSERT INTO db2.t1 (a, b) DEĞERLER('4', 'Yeni
satır - db1');
# Veritabanı tutarlılık denetimi başarısız oldu. # # ...tamamlamak

TELİF HAKKI


onworks.net hizmetlerini kullanarak mysqldbcompare çevrimiçi kullanın


Ücretsiz Sunucular ve İş İstasyonları

Windows ve Linux uygulamalarını indirin

Linux komutları

Ad




×
reklâm
❤️Buradan alışveriş yapın, rezervasyon yapın veya satın alın; ücretsizdir, hizmetlerin ücretsiz kalmasına yardımcı olur.