MTR (MySQL Test Runner) ialah rangka kerja ujian berkuasa yang disediakan secara rasmi oleh MySQL Ia digunakan secara meluas dalam pemulihan bencana dan ujian pemulihan kerosakan MySQL. MTR secara berkesan boleh mengesahkan kestabilan dan kebolehpercayaan MySQL dalam persekitaran yang berbeza dengan mengautomasikan pelaksanaan pelbagai kes ujian. Dalam artikel ini, kami akan memperkenalkan beberapa konsep asas dan penggunaan MTR, dan menunjukkan amalan aplikasinya dalam pemulihan bencana dan ujian pemulihan kegagalan melalui contoh kod sebenar.
1. Konsep asas MTR
2. Amalan aplikasi MTR dalam ujian pemulihan bencana
Dalam ujian pemulihan bencana, kami biasanya perlu mengesahkan keupayaan pemulihan bencana dan ketersediaan MySQL yang tinggi. Berikut ialah contoh fail ujian MTR yang mudah, digunakan untuk menguji fungsi penukaran pangkalan data siap sedia MySQL.
--source include/have_innodb.inc --connect (con1,127.0.0.1,root,,test) --send CREATE USER 'repl'@'%' IDENTIFIED BY 'password'; --send GRANT REPLICATION SLAVE ON *.* TO 'repl'@'%'; --send FLUSH PRIVILEGES; --connection con1 RESET MASTER; SET @UUID := UUID(); CHANGE MASTER TO MASTER_HOST='127.0.0.1', MASTER_USER='repl', MASTER_PASSWORD='password', MASTER_AUTO_POSITION=1; START SLAVE; --connection default ... --wait_timeout=300 --reconnect --connection con1 STOP SLAVE IO_THREAD; --connection default --reconnect --connection con1 START SLAVE IO_THREAD; --connection default --connection con1 EXECUTE start_slave_io_thread(); --connection default --connection con1 RESET SLAVE ALL; --connection default ...
Fail ujian MTR di atas terlebih dahulu perlu mengisytiharkan penggunaan enjin InnoDB, kemudian mencipta pengguna bernama repl dan membenarkannya. Seterusnya, anda akan mengkonfigurasi parameter yang berkaitan bagi perpustakaan tuan-hamba dan memulakan proses replikasi perpustakaan hamba. Semasa ujian, fungsi pensuisan pangkalan data siap sedia MySQL telah diuji dengan menghentikan dan memulakan proses replikasi daripada pangkalan data hamba. Akhir sekali, sahkan sama ada status MySQL kembali normal dengan melaksanakan perintah RESET SLAVE ALL.
3. Amalan aplikasi MTR dalam ujian pemulihan kerosakan
Ujian pemulihan kerosakan adalah terutamanya untuk mengesahkan pemulihan data dan konsistensi MySQL selepas kegagalan. Berikut ialah contoh fail ujian MTR mudah, digunakan untuk menguji fungsi pemulihan binlog MySQL.
--source include/have_binlog_format_row.inc --connect (con1,127.0.0.1,root,,test) --connection con1 CREATE TABLE t (id INT PRIMARY KEY, name VARCHAR(50)); --connection default --send UPDATE t SET name='test' WHERE id=1; --wait_timeout=300 --reconnect --connection con1 DROP TABLE t; --connection default --send INSERT INTO t VALUES (2, 'test2'); --wait_timeout=300 --reconnect --connection con1 SELECT * FROM t; --connection default ...
Fail ujian MTR di atas terlebih dahulu perlu mengisytiharkan penggunaan format binlog berasaskan baris, kemudian buat jadual bernama t dan masukkan sekeping data. Semasa ujian, fungsi pemulihan binlog MySQL telah diuji dengan memadamkan jadual dan memasukkan semula data. Akhir sekali, sahkan sama ada data dipulihkan dengan betul dengan melaksanakan pernyataan SELECT.
4. Ringkasan
Melalui contoh di atas, kita dapat melihat bahawa MTR boleh mencapai ujian komprehensif MySQL dari segi pemulihan bencana dan pemulihan kerosakan melalui organisasi kes ujian dan langkah ujian yang fleksibel. Dalam aplikasi sebenar, kami boleh menulis kes ujian yang lebih kompleks mengikut keperluan khusus dan menggabungkannya dengan alat dan skrip lain untuk meningkatkan lagi kesan ujian. Saya harap artikel ini dapat memberi inspirasi kepada amalan aplikasi MTR dan berguna kepada pembaca.
Atas ialah kandungan terperinci MTR: Amalan aplikasi rangka kerja ujian MySQL dalam pemulihan bencana dan ujian pemulihan kerosakan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!