Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Pemeriksaan Kesehatan Penting untuk Server Replika Sumber MySQL Anda

Dalam penyiapan ketersediaan tinggi (HA) sumber-replika sumber MySQL, penting untuk terus memantau kesehatan sumber dan server replika sehingga Anda dapat mendeteksi potensi masalah dan mengambil tindakan korektif . Dalam posting blog ini, kami menjelaskan beberapa pemeriksaan kesehatan dasar yang dapat Anda lakukan pada sumber MySQL dan node replika untuk memastikan pengaturan Anda sehat. Program atau skrip pemantauan harus mengingatkan kerangka ketersediaan tinggi jika ada pemeriksaan kesehatan yang gagal, memungkinkan kerangka ketersediaan tinggi untuk mengambil tindakan korektif untuk memastikan ketersediaan layanan.

Pemeriksaan Kesehatan Server Sumber MySQL

Kami menyarankan agar program atau skrip pemantauan sumber MySQL Anda berjalan pada interval yang sering. Dengan asumsi bahwa skrip pemantauan berjalan di server yang sama dengan server MySQL Anda, Anda dapat memeriksa hal berikut:

  1. Pastikan layanan MySQL berjalan

    Ini dapat dilakukan dengan menggunakan perintah sederhana seperti:

    > pgrep mysqld

    ATAU

    >service mysqld status
  2. Pastikan Anda dapat terhubung ke MySQL dan melakukan kueri sederhana

    Kami merekomendasikan untuk memiliki waktu tunggu singkat untuk perintah ini sehingga Anda dapat dengan cepat mendeteksi jika MySQL tidak responsif. Ini dapat dicapai dari panggilan seperti:

    /usr/bin/timeout 5 mysql -u testuser -ptestpswd -e 'select * from mysql.test’

    Pastikan untuk memeriksa nilai keluar dari perintah di atas:

    Keluar nilai=0 Berhasil

    Nilai keluar=1 Kegagalan

    Exit-value=124 Timeout

    Jika waktu perintah habis, berarti layanan MySQL tidak cukup responsif. Kami menyarankan Anda mencoba lagi setelah beberapa waktu untuk menghindari hasil negatif palsu. Jika kode keluar menunjukkan kegagalan, kode pengembalian dari MySQL akan memberi tahu kami alasan kegagalan. Salah satu contoh kegagalan adalah kesalahan 'Terlalu banyak koneksi' dari MySQL yang terjadi jika jumlah koneksi ke server melebihi nilai konfigurasi 'max_connections' Anda.

  3. Pastikan sumber MySQL berjalan dalam mode baca-tulis

    Anda dapat menggunakan perintah berikut untuk memastikan sumber MySQL berjalan dalam mode baca-tulis:

    /usr/bin/timeout 5 mysql -u testuser -ptestpswd -e "SELECT @@global.read_only"

    Sumber diharapkan selalu berjalan dalam mode baca-tulis, dan karenanya, nilai  read_only harus 'OFF'.

    Dimungkinkan juga untuk menggabungkan langkah ini dengan langkah 2, dan alih-alih melakukan kueri pengujian 'select * from mysql.test, kita bisa melakukan kueri untuk mendapatkan read_only nilai.

Pemeriksaan Kesehatan Penting untuk Server Replika Sumber MySQL AndaKlik Untuk Tweet

Pemeriksaan Kesehatan Server Replika MySQL

Anda dapat menjalankan pemantauan untuk replika MySQL Anda pada frekuensi yang lebih rendah dibandingkan dengan sumbernya, karena replika tersebut tidak menangani penulisan data. 3 langkah pertama untuk health check replika Anda bisa sama dengan yang ada di sumber, kecuali bahwa kita perlu memastikan replika berjalan dalam mode hanya-baca - nilai variabel read_only harus 'ON' di langkah-3 .

Selain itu, kami dapat melakukan lebih banyak pemeriksaan pada replika untuk memastikan status replikasinya sehat, seperti:

  1. Replika dikonfigurasi untuk mereplikasi dari sumber yang tepat.

  2. Koneksi replika ke sumbernya sehat.

  3. Replika dapat menerapkan peristiwa sumber yang diterimanya.

Anda dapat memeriksa semua hal di atas menggunakan perintah 'tampilkan status replika'. Misalnya:

mysql> show replica status \G;

*************************** 1. row ***************************

Replica_IO_State: Waiting for source to send event

Source_Host: 172.31.17.43

Source_User: repl_user

Source_Port: 3306

Connect_Retry: 10

Source_Log_File: mysql-bin.000001

Read_Source_Log_Pos: 7510

Relay_Log_File: relay-log.000006

Relay_Log_Pos: 414

Relay_Source_Log_File: mysql-bin.000001

Replica_IO_Running: Yes

Replica_SQL_Running: Yes

******************Truncated*********************************
  • Nilai Source_Host menunjukkan server sumber dikonfigurasi untuk replikasi.

  • Untuk nilai Replica_IO_Running, “Ya” menunjukkan bahwa replika telah terhubung ke sumber dan menerima aliran replikasi.

  • Untuk nilai Replica_SQL_Running, “Ya” menunjukkan bahwa applier replika sedang berjalan dan dapat menerapkan semua peristiwa yang diterima dari sumber.

Dalam posting blog ini, kami membahas beberapa pemeriksaan sederhana yang dapat mendeteksi jika ada masalah dasar di server replika dan sumber MySQL Anda. Secara umum, mekanisme deteksi kegagalan dalam penyiapan ketersediaan tinggi adalah subjek yang kompleks dan memerlukan kerangka kerja ketersediaan tinggi yang kuat untuk menerapkan pemantauan health check. Anda dapat mempelajari lebih lanjut tentang detail kerangka ketersediaan tinggi kami di Penjelasan Kerangka Ketersediaan Tinggi MySQL – Bagian I:entri blog Pendahuluan.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Di MySQL, dapatkah saya menunda pemeriksaan integritas referensial hingga komit?

  2. Gunakan Database Relasional MySQL di Ubuntu 10.04 LTS (Lucid)

  3. MySQL memuat nilai NULL dari data CSV

  4. Bagaimana cara menggunakan hashing kata sandi dengan PDO untuk membuat kode saya lebih aman?

  5. Cara Menambahkan Hari ke Tanggal di MySQL