MariaDB
 sql >> Teknologi Basis Data >  >> RDS >> MariaDB

Cara Memecahkan Masalah Basis Data MySQL

Segera setelah Anda mulai menjalankan server database dan penggunaan Anda meningkat, Anda akan dihadapkan pada berbagai jenis masalah teknis, penurunan kinerja, dan malfungsi database. Masing-masing dapat menyebabkan masalah yang jauh lebih besar, seperti kegagalan bencana atau kehilangan data. Ini seperti reaksi berantai, di mana satu hal dapat menyebabkan hal lain, menyebabkan lebih banyak masalah. Tindakan pencegahan proaktif harus dilakukan agar Anda memiliki lingkungan yang stabil selama mungkin.

Dalam posting blog ini, kita akan melihat banyak fitur keren yang ditawarkan oleh ClusterControl yang dapat sangat membantu kita memecahkan masalah dan memperbaiki masalah database MySQL kita ketika itu terjadi.

Alarm dan Notifikasi Basis Data

Untuk semua kejadian yang tidak diinginkan, ClusterControl akan mencatat semuanya di bawah Alarm, dapat diakses di Aktivitas (Menu Atas) halaman ClusterControl. Ini biasanya merupakan langkah pertama untuk memulai pemecahan masalah ketika terjadi kesalahan. Dari halaman ini, kita bisa mendapatkan gambaran tentang apa yang sebenarnya terjadi dengan cluster database kita:

Tangkapan layar di atas menunjukkan contoh peristiwa server yang tidak dapat dijangkau, dengan tingkat keparahan KRITIS , dideteksi oleh dua komponen, Jaringan dan Node. Jika Anda telah mengonfigurasi pengaturan pemberitahuan email, Anda akan mendapatkan salinan alarm ini di kotak surat Anda.

Saat mengklik “Detail Alarm Lengkap”, Anda bisa mendapatkan detail penting dari alarm seperti nama host, stempel waktu, nama cluster, dan sebagainya. Ini juga memberikan langkah yang direkomendasikan berikutnya untuk diambil. Anda juga dapat mengirimkan alarm ini sebagai email ke penerima lain yang dikonfigurasi di bawah Pengaturan Pemberitahuan Email.

Anda juga dapat memilih untuk menonaktifkan alarm dengan mengeklik tombol “Abaikan Alarm” dan alarm tidak akan muncul lagi dalam daftar. Mengabaikan alarm mungkin berguna jika Anda memiliki alarm dengan tingkat keparahan rendah dan tahu cara menangani atau mengatasinya. Misalnya jika ClusterControl mendeteksi indeks duplikat di database Anda, yang dalam beberapa kasus akan dibutuhkan oleh aplikasi lawas Anda.

Dengan melihat halaman ini, kita dapat memperoleh pemahaman langsung tentang apa yang terjadi dengan cluster database kita dan apa langkah selanjutnya yang harus dilakukan untuk memecahkan masalah. Seperti dalam kasus ini, salah satu node database turun dan menjadi tidak dapat dijangkau melalui SSH dari host ClusterControl. Bahkan SysAdmin pemula sekarang tahu apa yang harus dilakukan selanjutnya jika alarm ini muncul.

File Log Database Terpusat

Di sinilah kita dapat menelusuri apa yang salah dengan server database kita. Di bawah ClusterControl -> Logs -> System Logs, Anda dapat melihat semua file log yang terkait dengan cluster database. Sedangkan untuk cluster database berbasis MySQL, ClusterControl menarik log ProxySQL, log kesalahan MySQL dan log cadangan:

Klik "Refresh Log" untuk mengambil log terbaru dari semua host yang dapat diakses pada waktu tertentu. Jika sebuah node tidak dapat dijangkau, ClusterControl masih akan melihat log in yang sudah usang karena informasi ini disimpan di dalam database CMON. Secara default ClusterControl terus mengambil log sistem setiap 10 menit, dapat dikonfigurasi di bawah Pengaturan -> Interval Log.

ClusterControl akan memicu tugas untuk menarik log terbaru dari setiap server, seperti yang ditunjukkan pada tugas "Kumpulkan Log" berikut:

Tampilan terpusat dari file log memungkinkan kita untuk memiliki pemahaman yang lebih cepat tentang apa yang terjadi salah. Untuk klaster basis data yang biasanya melibatkan banyak node dan tingkatan, fitur ini akan sangat meningkatkan pembacaan log di mana SysAdmin dapat membandingkan log ini secara berdampingan dan menentukan peristiwa penting, sehingga mengurangi total waktu pemecahan masalah.

Konsol SSH Web

ClusterControl menyediakan konsol SSH berbasis web sehingga Anda dapat mengakses server DB secara langsung melalui UI ClusterControl (karena pengguna SSH dikonfigurasi untuk terhubung ke host database). Dari sini, kami dapat mengumpulkan lebih banyak informasi yang memungkinkan kami untuk memperbaiki masalah lebih cepat. Semua orang tahu saat masalah database menimpa sistem produksi, setiap detik waktu henti sangat berarti.

Untuk mengakses konsol SSH melalui web, cukup pilih node di bawah Nodes -> Node Actions -> SSH Console, atau cukup klik ikon roda gigi untuk pintasan:

Karena masalah keamanan yang mungkin dikenakan dengan fitur ini, terutama untuk multi -pengguna atau lingkungan multi-penyewa, seseorang dapat menonaktifkannya dengan masuk ke /var/www/html/clustercontrol/bootstrap.php di server ClusterControl dan atur konstanta berikut ke false:

define('SSH_ENABLED', false);

Refresh halaman UI ClusterControl untuk memuat perubahan baru.

Masalah Kinerja Basis Data

Selain fitur pemantauan dan tren, ClusterControl secara proaktif mengirimi Anda berbagai alarm dan penasihat terkait kinerja basis data, misalnya:

  • Penggunaan berlebihan - Sumber daya yang melewati ambang batas tertentu seperti CPU, memori, penggunaan swap, dan ruang disk.
  • Degradasi cluster - Partisi cluster dan jaringan.
  • Pergeseran waktu sistem - Perbedaan waktu di antara semua node dalam cluster (termasuk node ClusterControl).
  • Berbagai penasihat terkait MySQL lainnya:
    • Replikasi - jeda replikasi, kedaluwarsa binlog, lokasi, dan pertumbuhan
    • Galera - metode SST, pindai file log GRA, pemeriksa alamat cluster
    • Pemeriksaan skema - Keberadaan tabel non-transaksional di Galera Cluster.
    • Koneksi - Rasio utas terhubung
    • InnoDB - Rasio halaman kotor, pertumbuhan file log InnoDB
    • Kueri lambat - Secara default ClusterControl akan membunyikan alarm jika menemukan kueri berjalan lebih dari 30 detik. Ini tentu saja dapat dikonfigurasi di Pengaturan -> Konfigurasi Waktu Proses -> Permintaan Panjang.
    • Deadlock - kebuntuan transaksi InnoDB dan kebuntuan Galera.
    • Indeks - Kunci duplikat, tabel tanpa kunci utama.

Lihat halaman Penasihat di bawah Kinerja -> Penasihat untuk mendapatkan detail hal-hal yang dapat ditingkatkan seperti yang disarankan oleh ClusterControl. Untuk setiap penasihat, ini memberikan pembenaran dan saran seperti yang ditunjukkan pada contoh berikut untuk penasihat "Memeriksa Penggunaan Ruang Disk":

Ketika masalah kinerja terjadi, Anda akan mendapatkan "Peringatan" (kuning) atau Status "Kritis" (merah) pada penasehat ini. Penyetelan lebih lanjut biasanya diperlukan untuk mengatasi masalah tersebut. Penasihat meningkatkan alarm, yang berarti, pengguna akan mendapatkan salinan alarm ini di dalam kotak surat jika Notifikasi Email dikonfigurasi dengan benar. Untuk setiap alarm yang dimunculkan oleh ClusterControl atau penasihatnya, pengguna juga akan mendapatkan email jika alarm telah dihapus. Ini sudah dikonfigurasi sebelumnya dalam ClusterControl dan tidak memerlukan konfigurasi awal. Kustomisasi lebih lanjut selalu dimungkinkan di bawah Manage -> Developer Studio. Anda dapat melihat posting blog ini tentang cara menulis penasihat Anda sendiri.

ClusterControl juga menyediakan halaman khusus terkait kinerja database di bawah ClusterControl -> Performance. Ini memberikan semua jenis wawasan basis data mengikuti praktik terbaik seperti tampilan terpusat Status DB, Variabel, status InnoDB, Penganalisis Skema, Log Transaksi. Ini cukup jelas dan mudah dipahami.

Untuk kinerja kueri, Anda dapat memeriksa Kueri Teratas dan Pencilan Kueri, di mana ClusterControl menyoroti kueri yang kinerjanya sangat berbeda dari kueri rata-ratanya. Kami telah membahas topik ini secara rinci dalam posting blog ini, Penyesuaian Kinerja Kueri MySQL.

Laporan Kesalahan Basis Data

ClusterControl dilengkapi dengan alat pembuat laporan kesalahan, untuk mengumpulkan informasi debug tentang cluster database Anda untuk membantu memahami situasi dan status saat ini. Untuk membuat laporan kesalahan, cukup buka ClusterControl -> Log -> Laporan Kesalahan -> Buat Laporan Kesalahan:

Laporan kesalahan yang dihasilkan dapat diunduh dari halaman ini setelah siap. Laporan yang dihasilkan ini akan dalam format bola TAR (tar.gz) dan Anda dapat melampirkannya ke permintaan dukungan. Karena tiket dukungan memiliki batas ukuran file 10MB, jika ukuran tarball lebih besar dari itu, Anda dapat mengunggahnya ke drive cloud dan hanya membagikan tautan unduhan kepada kami dengan izin yang sesuai. Anda dapat menghapusnya nanti setelah kami mendapatkan filenya. Anda juga dapat membuat laporan kesalahan melalui baris perintah seperti yang dijelaskan di halaman dokumentasi Laporan Kesalahan.

Jika terjadi pemadaman, kami sangat menyarankan Anda membuat beberapa laporan kesalahan selama dan tepat setelah pemadaman. Laporan tersebut akan sangat berguna untuk mencoba memahami apa yang salah, konsekuensi dari pemadaman, dan untuk memverifikasi bahwa kluster tersebut sebenarnya kembali ke status operasional setelah peristiwa bencana.

Kesimpulan

Pemantauan proaktif ClusterControl, bersama dengan serangkaian fitur pemecahan masalah, menyediakan platform yang efisien bagi pengguna untuk memecahkan segala jenis masalah database MySQL. Cara lama untuk memecahkan masalah di mana seseorang harus membuka beberapa sesi SSH untuk mengakses beberapa host dan menjalankan beberapa perintah berulang kali untuk menentukan akar masalahnya.

Jika fitur yang disebutkan di atas tidak membantu Anda dalam memecahkan masalah atau memecahkan masalah database, Anda selalu menghubungi Tim Dukungan Somenines untuk mendukung Anda. Pakar teknis kami yang berdedikasi 24/7/365 tersedia untuk menghadiri permintaan Anda kapan saja. Rata-rata waktu balasan pertama kami biasanya kurang dari 30 menit.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Apa itu MariaDB Enterprise dan Bagaimana Cara Mengelolanya dengan ClusterControl?

  2. 4 Cara Mendaftar Semua Tabel di Database MariaDB

  3. Cara Menginstal MariaDB 10 di Debian dan Ubuntu

  4. Cara Menjalankan dan Mengonfigurasi ProxySQL 2.0 untuk MySQL Galera Cluster di Docker

  5. Pemantauan Keamanan Basis Data untuk MySQL dan MariaDB