Cara menggunakan replikasi streaming mysql

MySQL adalah database relasional yang sangat populer yang biasanya digunakan sebagai tempat penyimpanan transaksi. Basis pengguna MySQL membanggakan banyak pendukung industri seperti Facebook, Github, dll. yang semuanya menggunakan replikasi streaming MySQL. Ini adalah pilihan umum untuk perusahaan karena lapisan SQL yang komprehensif, fleksibilitas, dan lapisan autentikasi terperinci

Dengan konfigurasinya pada setting tertinggi, MySQL bahkan mampu menampung data hingga 256 TB. Ini mendukung enkripsi tingkat tabel serta enkripsi tingkat log biner. Dalam skenario produksi, di mana MySQL adalah basis data transaksional utama, seringkali ada persyaratan untuk mereplikasi data secara real-time. Alasannya mungkin karena kebutuhan akan pencadangan sederhana atau untuk menjalankan analisis data tanpa menurunkan kinerja database utama. Posting ini merinci langkah-langkah untuk menyiapkan replikasi streaming MySQL

Daftar isi

Alternatif yang Ramah Pengguna untuk Mencapai Replikasi Streaming MySQL

Hevo Data, No-code Data Pipeline, dapat membantu Anda mencapai hasil yang sama dengan sangat mudah. Ini adalah solusi yang sepenuhnya otomatis dan membutuhkan pengawasan minimal

Mulailah dengan Hevo secara gratis

Lihat fitur Hevo yang luar biasa

  • Sepenuhnya otomatis. Platform Hevo dapat diatur hanya dalam beberapa menit dan membutuhkan perawatan minimal
  • Transfer Data Waktu Nyata. Hevo menyediakan migrasi data waktu nyata, sehingga Anda selalu dapat memiliki data yang siap dianalisis
  • Transfer Data 100% Lengkap & Akurat. Infrastruktur kuat Hevo memastikan transfer data yang andal tanpa kehilangan data
  • Infrastruktur yang Dapat Diskalakan. Hevo memiliki integrasi bawaan untuk 100+ sumber yang dapat membantu Anda menskalakan infrastruktur data sesuai kebutuhan
  • Dukungan Langsung 24/7. Tim Hevo tersedia sepanjang waktu untuk memberikan dukungan luar biasa kepada Anda melalui obrolan, email, dan panggilan dukungan
  • Manajemen Skema. Hevo menghilangkan tugas manajemen skema yang membosankan & secara otomatis mendeteksi skema data yang masuk dan memetakannya ke skema tujuan
  • Pemantauan Langsung. Hevo memungkinkan Anda memantau aliran data sehingga Anda dapat memeriksa di mana data Anda berada pada titik waktu tertentu
Daftar di sini untuk Uji Coba Gratis 14 hari

Prasyarat

  • Instance MySQL master dengan izin root
  • Contoh MySQL untuk bertindak sebagai budak
  • Pemahaman dasar tentang database

Menyiapkan Replikasi Streaming MySQL

Replikasi streaming MySQL bekerja berdasarkan log biner. Ini adalah file yang berisi log dari semua aktivitas yang terjadi di instance MySQL. Menyiapkan replikasi streaming MySQL melibatkan konfigurasi database sumber untuk mengaktifkan log biner dan kemudian mengonfigurasi budak untuk menggunakannya sebagai sumber data

  • Menetapkan Service-id untuk Server Master

Id layanan default untuk instance server MySQL adalah 0. Ini harus diubah ke nilai selain 0 untuk mengaktifkan replikasi. Untuk saat ini, mari kita tetapkan ini ke 1. Masuk ke server MySQL dan jalankan perintah di bawah ini

SET GLOBAL server_id = 1;
  • Mengaktifkan Log Biner di Server

Langkah ini memerlukan restart server agar berlaku. MySQL menggunakan file konfigurasi bernama my. cnf. Keluar dari shell dan buka file konfigurasi menggunakan editor favorit Anda. Di bagian 'mysqld', tambahkan nilai di bawah ini

log-bin = mysql-bin
server-id = 1
_

Sekarang, restart server menggunakan perintah di bawah ini

service mysqld restart
  • Membuat Pengguna untuk Replikasi Streaming MySQL

Instance slave akan menggunakan pengguna ini untuk terhubung ke instance master

mysql> CREATE USER 'repuser' IDENTIFIED BY 'password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'repuser';

  • Mendapatkan Posisi Log Biner untuk Memulai Replikasi Streaming MySQL

Langkah ini hanya diperlukan jika master Anda telah mengaktifkan log biner sebelum latihan ini. Dalam kasus tersebut, Anda memerlukan posisi log biner untuk mengonfigurasi replikasi dalam instance slave. Ini dapat ditemukan dengan masuk ke shell dan menjalankan perintah. Sebelum menjalankan perintah, kunci instance master menggunakan perintah di bawah ini

FLUSH TABLES WITH READ LOCK;
_

Sekarang jalankan perintah di bawah ini untuk mendapatkan posisi dan nama file

mysql > SHOW MASTER STATUS;
+------------------+----------+--------------+------------------+
| File             | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+------------------+----------+--------------+------------------+
| mysql-bin.000004 | 71       | test         | manual,mysql     |
+------------------+----------+--------------+------------------+

Hasil di atas menunjukkan nama file dan posisi log biner. Jika ini kosong, Anda harus menggunakan '' dan 4 sebagai nama dan posisi file saat mengonfigurasi instance slave

Setelah mencatat nilainya, buka kunci tabel untuk menulis menggunakan perintah di bawah ini

UNLOCK TABLES;
_
  • Menyiapkan Server-id untuk Instance Slave

Seperti disebutkan di atas, Anda perlu mengubah server-id default 0 untuk menyiapkan replikasi. Nilai id tidak masalah dan bisa berupa angka antara 1 dan 2^32 tanpa konflik. Itu akan tergantung pada desain topologi Anda juga. Login ke instance slave dan jalankan perintah di bawah ini

SET GLOBAL server_id = 2;
  • Mengonfigurasi Instans Slave dengan Detail Master

Pada langkah ini, Anda akan mengatur detail koneksi master dan detail posisi log biner. Gunakan perintah di bawah ini untuk menyelesaikan ini

mysql> CHANGE MASTER TO
    ->     MASTER_HOST = 'master_host_name',
    ->     MASTER_USER = 'repuser',
    ->     MASTER_PASSWORD = 'password',
    ->     MASTER_LOG_FILE = 'rmysql-bin.000004 ',
    ->     MASTER_LOG_POS = 71;
_

Jika master belum diaktifkan, Anda dapat menggunakan '' dan 4 sebagai nilai masing-masing untuk nama log dan posisi

  • Memulai Thread Budak

Mulai utas budak menggunakan perintah di bawah ini

mysql> START SLAVE;
_

Itu menyimpulkan langkah-langkah untuk menyiapkan replikasi streaming MySQL. Setelah thread slave mulai berjalan, semua perubahan dalam instance master akan direplikasi secara asinkron ke instance slave

Kesimpulan

Dalam posting ini, Anda belajar cara mengatur replikasi streaming MySQL. Posting ini mengasumsikan skenario di mana master dan budak sedang diatur dari awal. Pada kenyataannya, Anda mungkin menghadapi tantangan di bawah saat menjalankan ini

  • Dalam beberapa kasus, master mungkin sudah memiliki data. Dalam kasus seperti itu, Anda harus menggunakan perintah mysqldump untuk membuat file dump dan memuatnya ke instance slave sebelum memulai thread slave.  
  • Pendekatan di atas mengharuskan Anda untuk mengonfigurasi banyak detail secara manual dan Anda memerlukan pengetahuan rumit tentang cara kerja MySQL. Mengonfigurasi replikasi semacam itu mengharuskan Anda memiliki keterampilan administrasi MySQL serta keterampilan teknik data.  
  • Dalam kebanyakan situasi, data harus diubah sebelum dimuat ke database tujuan. Transformasi semacam itu tidak dapat ditangani dengan pendekatan ini
Kunjungi Situs Web kami untuk Menjelajahi Hevo

Jika batasan di atas adalah pemecah masalah bagi Anda, alat ETL yang dikelola sepenuhnya seperti Hevo dapat menjadi pilihan yang baik untuk menjalankan replikasi streaming MySQL. Hevo adalah Pipa Data Tanpa Kode yang menyediakan antarmuka pengguna sederhana yang menghindarkan Anda dari mimpi buruk konfigurasi. Ini mendukung transformasi yang kompleks dan dapat membantu Anda menyiapkan pipeline ETL dengan waktu produksi sesingkat mungkin

Mendaftar untuk uji coba gratis selama 14 hari dan rasakan langsung rangkaian Hevo yang kaya fitur. Anda juga dapat melihat harga yang luar biasa, yang akan membantu Anda dalam memilih paket terbaik untuk kebutuhan Anda

Langkah-langkah dalam melakukan replikasi di MySQL?

MySQL Master untuk Menguasai Langkah-langkah Replikasi .
Sesuaikan konfigurasi masing-masing server MySQL sebagai master. Ubah di setiap file /etc/my. cnf. .
2. Instal replikasi ke setiap server, login ke server1 sebagai root. .
j. Buka kunci tabel di master 1. .
Kembali ke server master 1 dan pengaturan master. .
Percobaan replikasi

Apa itu replikasi MySQL?

APA ITU REPLIKASI MYSQL ? . Dengan menggunakan teknik ini, data dapat didistribusikan ke berbagai lokasi melalui koneksi jaringan lokal dan internet.

Apa itu Replikasi Data?

Replikasi base data adalah proses penyalinan base data ke basis data lain yang berada di server yang sama atau berbeda, dan menyinkronkan data untuk menjaga konsistensi. Dengan teknik replikasi ini, data dapat didistribusikan ke berbagai lokasi melalui jaringan lokal LAN, WAN, atau internet.

Kapan replikasi data ini biasanya dilakukan?

Proses replikasi terjadi setelah transaksi di master selesai. Pertukaran data dengan buffering, data akan ditempatkan di buffer terlebih dahulu, kemudian pada jangka waktu tertentu akan direplikasi ke slave disk.