Sinkronkan dua basis data MySQL di dua lokasi berbeda

19

Saya memiliki dua database MySQL yang identik satu di server internal dan yang lainnya di server web hosting. Saya ingin memperbarui database di host web setiap hari dengan database di server internal. Apakah ada cara untuk mengotomatisasi proses ini juga bagaimana saya bisa melakukan ini secara manual? Jika saya melakukannya secara manual, apakah itu mengharuskan saya untuk mendapatkan SQL dump dari Database di server internal dan kemudian mengimpornya di database di host web? Tolong, tolong beri saran.

ry12
sumber
Anda dapat merujuk jawaban yang ada yang diposting di sini di StackOverflow stackoverflow.com/questions/52583/...
Mahesh Patil
tentang # 2 jika saya melakukan dump penuh dari internal dan impor pada produksi itu akan menimpa database online, maksud saya saya memiliki pembeli online di web host database dan saya ingin bermigrasi database internal membeli menjadi live, dapatkah Anda menjelaskan BTW apa yang akan Kebetulan peningkatan otomatis antara keduanya jika mereka berdua memesan id yang sama itu akan berantakan!?
shareef

Jawaban:

20

Anda punya beberapa pilihan:

  1. Siapkan replikasi MySQL antar server. Server internal Anda dapat bertindak sebagai Master, dan server host web sebagai budak. Setiap pembaruan yang dilakukan pada Master akan segera direplikasi ke slave (dengan asumsi koneksi berfungsi). Ini kemungkinan besar akan menjadi pilihan termudah dan paling efektif untuk dipilih. Untuk menggunakan replikasi, basis data internal Anda harus dapat diakses melalui jaringan dari host web.

    Anda dapat membaca lebih lanjut tentang replikasi di sini .

  2. Setiap hari, Anda dapat melakukan mysqldump di server internal, mengunggah file dump ke host web, dan mengimpor data. Karena ini adalah dump penuh, jika Anda memiliki database yang sangat besar, ini mungkin tidak layak. Jika Anda suka, prosedur ini berpotensi dibuat skrip untuk menghindari keharusan melakukannya secara manual.

  3. Anda dapat mengatur logging biner di server internal. Anda kemudian dapat mengirimkan log biner ke host web dan menerapkannya ke database, secara efektif memainkan semua transaksi yang terjadi hari itu ke server web. Akibatnya, ini adalah apa yang terjadi dengan replikasi, jadi Anda hampir selalu akan pergi dengan replikasi yang diatur alih-alih opsi ini.

Jika tidak ada koneksi antara kedua database, mengambil mysqldumps setiap hari akan menjadi jalan termudah untuk mengambil.

Matt Healy
sumber
tentang # 2 jika saya melakukan dump penuh dari internal dan impor pada produksi itu akan menimpa database online, maksud saya saya memiliki pembeli online di web host database dan saya ingin bermigrasi database internal membeli menjadi live, dapatkah Anda menjelaskan BTW apa yang akan Kebetulan peningkatan otomatis antara keduanya jika mereka berdua memesan id yang sama itu akan berantakan!?
shareef
4

Anda juga dapat menggunakan opsi seperti symmetricDS yang dapat membantu menyinkronkan dua database. Dengan ini Anda akan dapat memilih tabel yang perlu disinkronkan sehingga Anda dapat menghemat bandwidth internet. Ini juga sesuai dengan skenario ketika ada kekurangan konektivitas antara dua lokasi.

Siva Karthikeyan
sumber
2

Cara mengatur replikasi basis data dengan MariaDB: https://www.techrepublic.com/article/how-to-set-up-database-replication-with-mariadb/

Dylan B
sumber
1
Selamat datang di DBA.SE. Kami menghargai kontribusi / partisipasi Anda. Namun, komunitas mengharapkan kualitas tertentu dalam jawaban yang diposting. Silakan pertimbangkan membaca artikel berikut: Bagaimana cara saya menulis jawaban yang baik? (Pusat Bantuan) Di bagian Jawab pertanyaan, ada kalimat pendek yang berbunyi: Tautan ke sumber daya eksternal dianjurkan, tapi tolong tambahkan konteks di sekitar tautan sehingga sesama pengguna Anda akan mengetahui apa itu dan mengapa ada di sana
John aka hot2use
0

Anda bisa menggunakan Navicat . Ini terutama manajer db tetapi memiliki fungsi transfer data dan sinkronisasi data serta penjadwal sehingga Anda dapat mengotomatisasi. Ini tidak gratis tetapi ada 30 fungsi percobaan penuh.

Josh A.
sumber