Rumah >pangkalan data >tutorial mysql >Mencapai lebihan dan pengembangan data: kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster

Mencapai lebihan dan pengembangan data: kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster

WBOY
WBOYasal
2023-09-08 16:36:33998semak imbas

Mencapai lebihan dan pengembangan data: kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster

Mencapai lebihan dan pengembangan data: Kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster

Pengenalan:
Dengan pembangunan Internet, peningkatan berterusan dalam jumlah data dan peningkatan berterusan dalam pengguna, pangkalan data bersendirian tradisional tidak lagi dapat memenuhi keperluan konkurensi yang tinggi dan ketersediaan yang tinggi. Dalam konteks ini, pangkalan data teragih telah menjadi salah satu penyelesaian yang popular. Sebagai salah satu pangkalan data hubungan yang paling biasa digunakan, teknologi replikasi tuan-hamba MySQL juga telah mendapat perhatian yang meluas dalam pangkalan data yang diedarkan. Artikel ini akan memperkenalkan kes aplikasi teknologi replikasi tuan-hamba MySQL untuk mencapai lebihan data dan pengembangan dalam persekitaran kluster, dan menyediakan contoh kod yang sepadan.

1. Pengenalan kepada teknologi replikasi master-slave MySQL
Teknologi replikasi master-slave MySQL ialah kaedah replikasi data berdasarkan log binari. Ia merekodkan operasi pengubahsuaian pada pangkalan data induk ke dalam log binari dalam masa nyata, dan menghantar log binari ke pangkalan data hamba untuk dimainkan semula, dengan itu memastikan ketekalan data antara pangkalan data induk dan hamba. Dalam persekitaran kluster, kami boleh mencapai lebihan dan pengembangan data dengan menggunakan berbilang perpustakaan hamba pada pelayan yang berbeza.

2. Penerapan persekitaran kluster

  1. Konfigurasi perpustakaan utama
    Pertama, kita perlu membina perpustakaan utama MySQL pada pelayan. Andaikan sistem pengendalian yang kami gunakan ialah Linux dan versi pangkalan data ialah MySQL 5.7. Berikut ialah beberapa parameter konfigurasi perpustakaan utama yang biasa digunakan:

[mysqld]
server-id=1
log_bin=mysql-bin#🎜🎜=#binlog_format baris

    Konfigurasi perpustakaan hamba
  1. Bina perpustakaan hamba MySQL pada pelayan lain. Perlu diingatkan bahawa ID pelayan pangkalan data hamba mestilah unik dan berbeza daripada pangkalan data induk. Berikut ialah contoh konfigurasi perpustakaan hamba:
[mysqld]

server-id=2
relay_log=mysql-relay-bin
read_only= 1

3 Pembinaan persekitaran kluster

    Tetapan perpustakaan utama
  1. Di perpustakaan utama, kita perlu mencipta pengguna untuk replikasi, dan Berikan kebenaran yang sesuai. Anggapkan bahawa nama pengguna yang kami cipta ialah replikasi dan kata laluan ialah 123456. Perintah SQL yang sepadan adalah seperti berikut:
CIPTA PENGGUNA 'replikasi'@'%' DIKENAL PASTI OLEH '123456'; #🎜🎜 #BERI REPLICASI HAMBA PADA

.
KE 'replikasi'@'%';

Daripada tetapan pangkalan data
    Pada pangkalan data hamba , kita perlu mengkonfigurasi Ia menyambung kepada pangkalan data utama untuk replikasi data. Andaikan alamat IP pangkalan data utama ialah 192.168.1.100, nama pengguna ialah replikasi, kata laluan ialah 123456, dan ID pangkalan data hamba ialah 2. Perintah SQL yang sepadan adalah seperti berikut:
  1. #🎜🎜 #
    TUKAR SARJANA KEPADA# 🎜🎜# MASTER_HOST='192.168.1.100',
  2. MASTER_USER='replikasi',
MASTER_PASSWORD='1234156 tong sampah .000001',#🎜🎜 # MASTER_LOG_POS =123456;



Mulakan replikasi
Selepas perpustakaan hamba disediakan, kita perlu memulakan fungsi replikasi. Mula-mula laksanakan arahan berikut untuk memulakan replikasi:

MULAKAN BUDAK;
  1. Kemudian, semak status replikasi melalui arahan berikut:
    #🎜🎜 #TUNJUKKAN STATUSG BUDAK ;
Jika kedua-dua "Slave_IO_Running" dan "Slave_SQL_Running" dalam kandungan yang dipaparkan adalah "Ya", ini bermakna replikasi berjalan seperti biasa.

4. Kes aplikasi: redundansi dan pengembangan data

Dalam persekitaran kluster, kami boleh mengedarkan permintaan baca dan tulis kepada berbilang perpustakaan hamba untuk mencapai lebihan dan pengembangan data. Berikut ialah kes aplikasi mudah untuk menunjukkan kesan lebihan dan pengembangan data.

Buat jadual ujian

Buat jadual ujian pada pangkalan data utama untuk menyimpan maklumat pengguna.


BUAT JADUAL pengguna (

id INT(11) BUKAN NULL AUTO_INCREMENT,
    nama VARCHAR(20) NOT NULL,
  1. age INT(3) NOT NULL,
    PRIMARY KEY (id)#🎜🎜 #) ENGINE=INNODB DEFAULT CHARSET=utf8;

Masukkan data ujian user (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
age INT(3) NOT NULL,
PRIMARY KEY (id)
) ENGINE=INNODB DEFAULT CHARSET=utf8;

  1. 插入测试数据
    在主库上插入一些测试数据。

INSERT INTO user (name, ageMasukkan beberapa data ujian pada pangkalan data utama.

  1. INSERT IN TO user (name, age) NILAI ('Alice', 25), ('Bob', 30), ('Chris', 35);
Data pertanyaan

Dalam aplikasi, kami boleh menghantar permintaan baca kepada mana-mana atasan perpustakaan hamba. Andaikan pelayan aplikasi kami mempunyai dua perpustakaan hamba yang alamat IPnya ialah 192.168.1.101 dan 192.168.1.102 Kami boleh menghantar permintaan baca melalui contoh kod berikut:


import java.sql. ;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

public class Read🎜Demo#Request
public static void main(String[] args) {
    String url = "jdbc:mysql://192.168.1.101:3306/test";
    String username = "username";
    String password = "password";

    try {
        Connection conn = DriverManager.getConnection(url, username, password);
        String sql = "SELECT * FROM user";
        Statement stmt = conn.createStatement();
        ResultSet rs = stmt.executeQuery(sql);

        while (rs.next()) {
            int id = rs.getInt("id");
            String name = rs.getString("name");
            int age = rs.getInt("age");
            System.out.println("id=" + id + ", name=" + name + ", age=" + age);
        }

        rs.close();
        stmt.close();
        conn.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

}

Melalui contoh kod di atas, kita dapat melihat bahawa perpustakaan hamba mengembalikan data ujian yang dimasukkan pada perpustakaan utama. Memandangkan kami telah mengkonfigurasikan berbilang perpustakaan hamba, permintaan baca boleh diedarkan kepada perpustakaan hamba yang berbeza, dengan itu mencapai lebihan dan pengembangan data.

Kesimpulan: #🎜🎜#Dalam kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster, kami mencapai redundansi dan pengembangan data dengan membina pangkalan data induk dan pangkalan data berbilang hamba. Melalui konfigurasi dan penalaan yang munasabah, prestasi serentak dan kebolehskalaan sistem boleh dipertingkatkan. Pada masa yang sama, teknologi replikasi tuan-hamba juga boleh menyediakan ketersediaan data yang tinggi dan keupayaan pemulihan bencana. Untuk senario aplikasi yang perlu mengendalikan sejumlah besar operasi baca serentak, teknologi replikasi induk-hamba MySQL adalah penyelesaian yang patut dipertimbangkan. #🎜🎜#

Atas ialah kandungan terperinci Mencapai lebihan dan pengembangan data: kes aplikasi teknologi replikasi tuan-hamba MySQL dalam persekitaran kluster. 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

Artikel berkaitan

Lihat lagi