İki MySQL veritabanını iki farklı konumda senkronize etme


20

Biri dahili sunucuda diğeri web barındırma sunucusunda iki özdeş MySQL veritabanım var. Her gün web sunucusundaki veritabanını dahili sunucudaki veritabanıyla güncellemek istiyorum. Bu işlemi otomatikleştirmenin bir yolu var mı, bunu manuel olarak nasıl yapabilirim? Elle yapmam gerekiyorsa, iç sunucuda bir SQL veritabanı dökümü almamı ve ardından web hostundaki veritabanına aktarmamı gerektirir mi? Birisi tavsiye edebilir misiniz lütfen.


StackOverflow'da yayınlanan mevcut cevaba başvurabilirsiniz stackoverflow.com/questions/52583/…
Mahesh Patil

içten tam dökümü yaparsanız ve üretimde ithalat yaparsanız çevrimiçi veritabanının üzerine yazacak, yani veritabanı web'de çevrimiçi alıcılara sahibim ve dahili veritabanı satın alımlarını canlı hale getirmek istiyorum, lütfen BTW'ye ne olacağını açıklığa kavuşturabilir misiniz? ikisi de aynı kimliği rezerve eğer ikisi arasındaki otomatik artışlar için karışıklık rigth olacak!?
shareef

Yanıtlar:


20

Birkaç seçeneğiniz var:

  1. Sunucular arasında MySQL çoğaltmasını ayarlayın. Dahili sunucunuz Ana, web ana sunucu ise bağımlı olarak görev yapabilir. Master üzerinde yapılan güncellemeler derhal slave'e kopyalanır (çalışan bir bağlantı olduğu varsayılarak). Bu muhtemelen en kolay ve en etkili seçenek olacaktır. Çoğaltmayı kullanmak için, iç veritabanınıza ağ üzerinden web barındırıcısından erişilebilir olması gerekir.

    Çoğaltma hakkında daha fazla bilgiyi buradan edinebilirsiniz .

  2. Her gün, dahili sunucuda bir mysqldump gerçekleştirebilir, döküm dosyasını web ana bilgisayarına yükleyebilir ve verileri alabilirsiniz. Bu tam bir döküm olduğundan, çok büyük bir veritabanınız varsa, bu mümkün olmayabilir. İsterseniz, bu yordam elle yapmak zorunda kalmamak için muhtemelen komut dosyası olarak yazılabilir.

  3. Sen ayarlayabilirsiniz ikili günlüğü iç sunucuda. Daha sonra ikili günlükleri web ana bilgisayarına gönderebilir ve veritabanına uygulayarak o gün gerçekleşen tüm işlemleri web sunucusunda etkili bir şekilde oynatabilirsiniz. Aslında, yine de çoğaltma ile olan şey budur, bu yüzden neredeyse her zaman bu seçenek yerine çoğaltma kurulumuyla devam edersiniz.

İki veritabanı arasında bağlantı yoksa, her gün mysqldumps almak en kolay yol olacaktır.


içten tam dökümü yaparsanız ve üretimde ithalat yaparsanız çevrimiçi veritabanının üzerine yazacak, yani veritabanı web'de çevrimiçi alıcılara sahibim ve dahili veritabanı satın alımlarını canlı hale getirmek istiyorum, lütfen BTW'ye ne olacağını açıklığa kavuşturabilir misiniz? ikisi de aynı kimliği rezerve eğer ikisi arasındaki otomatik artışlar için karışıklık rigth olacak!?
shareef

4

İki veritabanını senkronize etmeye yardımcı olabilecek simetrikDS gibi seçenekleri de kullanabilirsiniz . Bu şekilde senkronize edilmesi gereken tabloları internet bant genişliğinden tasarruf edebileceğiniz şekilde seçebilirsiniz. Bu, iki konum arasında bağlantı eksikliği olduğunda da senaryoda uygun olacaktır.


2

MariaDB ile veritabanı çoğaltması nasıl ayarlanır: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/


1
DBA.SE'ye Hoşgeldiniz. Katkınız / katılımınız için teşekkür ederiz. Ancak, topluluk gönderilen cevaplarda belirli bir kalite beklemektedir. Lütfen aşağıdaki makaleyi okumayı düşünün: İyi bir cevabı nasıl yazarım? (Yardım Merkezi) Soruyu cevapla bölümünde aşağıdakileri okuyan kısa bir cümle var: Dış kaynaklara bağlantılar teşvik edilir, ancak lütfen diğer kullanıcıların ne olduğu ve neden orada olduğu hakkında bir fikir sahibi olmaları için bağlantının çevresine bağlam ekleyin
John aka hot2use

0

Navicat kullanabilirsiniz . Öncelikle bir db yöneticisidir, ancak veri aktarımı ve veri senkronizasyonu işlevselliğinin yanı sıra otomatikleştirebileceğiniz bir zamanlayıcıya sahiptir. Ücretsiz değil ama 30 tam işlevli bir deneme var.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.