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
[mysqld]
server-id=1
log_bin=mysql-bin#🎜🎜=#binlog_format baris
server-id=2
relay_log=mysql-relay-bin
read_only= 1
.
KE 'replikasi'@'%';
Mulakan replikasi
Selepas perpustakaan hamba disediakan, kita perlu memulakan fungsi replikasi. Mula-mula laksanakan arahan berikut untuk memulakan replikasi:
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 ujianBuat jadual ujian pada pangkalan data utama untuk menyimpan maklumat pengguna.
BUAT JADUAL
age
INT(3) NOT NULL,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;
INSERT INTO user
(name
, age
Masukkan beberapa data ujian pada pangkalan data utama.
user
(name
, age
) NILAI ('Alice', 25), ('Bob', 30), ('Chris', 35);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.ResultSet;
import java.sql.Statement;public class Read🎜Demo#Requestpublic 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.
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!