Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk membina kluster MySQL yang sangat tersedia menggunakan seni bina pangkalan data teragih

Bagaimana untuk membina kluster MySQL yang sangat tersedia menggunakan seni bina pangkalan data teragih

WBOY
WBOYasal
2023-08-02 16:29:131448semak imbas

Cara membina kluster MySQL yang sangat tersedia menggunakan seni bina pangkalan data teragih

Dengan pembangunan Internet, permintaan untuk ketersediaan tinggi dan skalabiliti pangkalan data semakin tinggi dan lebih tinggi. Seni bina pangkalan data teragih telah menjadi salah satu cara yang berkesan untuk menyelesaikan keperluan ini. Artikel ini akan memperkenalkan cara menggunakan seni bina pangkalan data teragih untuk membina kluster MySQL yang sangat tersedia dan menyediakan contoh kod yang berkaitan.

  1. Bina kluster replikasi tuan-hamba MySQL

Replikasi tuan-hamba MySQL ialah penyelesaian ketersediaan tinggi asas yang disediakan oleh MySQL. Melalui replikasi tuan-hamba, sandaran data dan pemisahan baca-tulis boleh dicapai. Pertama, kita perlu mencipta perpustakaan induk dan perpustakaan hamba berbilang. Katakan kita mempunyai 3 pelayan iaitu pelayan induk (192.168.1.100) dan dua pelayan hamba (192.168.1.101 dan 192.168.1.102).

Konfigurasikan perkara berikut pada pelayan utama:

  1. Tambah kandungan berikut dalam fail konfigurasi my.cnf:

    server-id=1
    log-bin=mysql-bin
  2. Buat pengguna untuk replikasi dalam MySQL dan berikan kebenaran replikasi:

  3. Excuse arahan berikut untuk memulakan rakaman log binari:
  4. GRANT REPLICATION SLAVE ON *.* TO 'replication'@'192.168.1.%' IDENTIFIED BY 'password';
    FLUSH PRIVILEGES;

    Rakam Fail dan Kedudukan yang dipaparkan, yang akan digunakan dalam langkah seterusnya.

  5. Konfigurasikan pelayan hamba seperti berikut:

    Tambah kandungan berikut dalam fail konfigurasi my.cnf:
  1. FLUSH TABLES WITH READ LOCK;
    SHOW MASTER STATUS;

  2. Jalankan arahan berikut untuk menyambungkan pelayan hamba kepada pelayan induk:Chargeee [MASTER_LOG_FILE ] dan [MASTER_LOG_POS] digantikan dengan Fail dan Kedudukan yang dilog pada pelayan induk.
  3. Ulang langkah di atas untuk mengkonfigurasi semua pelayan hamba.

Membina kluster pemisahan baca-tulis MySQL

    Selepas membina kluster replikasi tuan-hamba, kita boleh menggunakan pengasingan baca-tulis untuk meningkatkan lagi prestasi pangkalan data. Pemisahan baca-tulis mengedarkan operasi baca kepada pelayan hamba dan menghantar operasi tulis ke pelayan induk. Ini boleh mengurangkan beban pada pelayan utama dan meningkatkan prestasi konkurensi operasi baca.
  1. Mula-mula, lakukan konfigurasi berikut pada pelayan induk:

Tambah kandungan berikut dalam fail konfigurasi my.cnf:

server-id=2
  1. Jalankan arahan berikut untuk memulakan semula pelayan induk:

    CHANGE MASTER TO 
     MASTER_HOST='192.168.1.100',
     MASTER_USER='replication',
     MASTER_PASSWORD='password',
     MASTER_LOG_FILE='[MASTER_LOG_FILE]',
     MASTER_LOG_POS=[MASTER_LOG_POS];
    START SLAVE;
  2. pada pelayan hamba Konfigurasi seperti berikut:
  3. Tambah kandungan berikut dalam fail konfigurasi my.cnf:
log-slave-updates

    Laksanakan arahan berikut untuk memulakan semula pelayan hamba:
  1. SET @@GLOBAL.read_only=ON;

    untuk konfigurasi, kita perlu konfigurasikan. pemisahan baca-tulis dalam aplikasi. Dengan mengandaikan kami menggunakan PHP untuk membangunkan aplikasi, berikut ialah kod sampel yang dipermudahkan:
  2. read-only
  3. Membina kluster sharding MySQL

MySQL sharding ialah kaedah menyebarkan data merentas berbilang pelayan untuk meningkatkan prestasi Kebolehskalaan pangkalan data. Kelompok shard membahagikan data kepada berbilang serpihan, dengan setiap serpihan menyimpan sebahagian daripada data. Sebelum sharding, anda perlu menentukan peraturan sharding terlebih dahulu dalam aplikasi.

Berikut ialah kod contoh yang melaksanakan logik storan berpecah berdasarkan ID pengguna:
    SET @@GLOBAL.read_only=OFF;
  1. Apabila benar-benar membina kluster berpecah, anda perlu mencipta berbilang pelayan pangkalan data dan mengkonfigurasinya dengan sewajarnya. Setiap pelayan pangkalan data menyimpan sebahagian daripada data dan membaca serta menulis data melalui peraturan sharding aplikasi.
Ringkasan

Dengan membina kluster replikasi induk-hamba MySQL, kluster pemisahan baca-tulis dan kluster sharded, kami boleh mencapai kluster MySQL yang sangat tersedia dan meningkatkan prestasi serta kebolehskalaan pangkalan data. Dalam aplikasi sebenar, isu seperti sandaran dan pemulihan data, failover, dsb. juga perlu dipertimbangkan, dan konfigurasi serta pengoptimuman yang sepadan perlu dibuat. Saya berharap contoh dan konfigurasi kod di atas dapat membantu pembaca memahami dan menggunakan seni bina pangkalan data teragih.

Atas ialah kandungan terperinci Bagaimana untuk membina kluster MySQL yang sangat tersedia menggunakan seni bina pangkalan data teragih. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn