Nuestra Base de conocimientos sólo está tersedia aktual en ingglés. Estamos dalam proses perdagangan ini halaman y las publicaremos cuando estén disponibles
Artikel ini menjelaskan cara mengaktifkan log kueri lambat MySQL. Anda dapat menggunakan log kueri lambat untuk membantu menentukan kueri database mana yang membutuhkan waktu lama untuk dijalankan
Artikel ini hanya berlaku untuk produk yang tercantum di sidebar Detail Artikel. Anda harus memiliki akses root ke server untuk mengikuti prosedur ini. Jika Anda memiliki VPS Terkelola atau Server Terdedikasi Terkelola (dan tidak memiliki akses root) dan ingin mengaktifkan log kueri yang lambat, silakan buka tiket di Portal Pelanggan di https. //ku. a2hosting. com
Mengaktifkan log kueri lambat
Kueri yang lambat dapat memengaruhi kinerja database dan kinerja server secara keseluruhan. Fitur log kueri yang lambat di MySQL memungkinkan Anda mencatat kueri yang melebihi batas waktu yang telah ditentukan. Ini sangat menyederhanakan tugas menemukan kueri yang tidak efisien atau memakan waktu
Untuk mengaktifkan log kueri yang lambat di MySQL, ikuti langkah-langkah berikut
- Masuk ke server Anda menggunakan SSH
- Pada baris perintah, ketikkan perintah berikut. mysql -u root -p
- Ketik kata sandi root MySQL
Untuk mengaktifkan log kueri yang lambat, ketikkan perintah berikut pada prompt mysql>
SET GLOBAL slow_query_log = 'ON';_Ada opsi tambahan yang dapat Anda atur untuk log kueri yang lambat
- Secara default, saat log kueri lambat diaktifkan, log kueri apa pun yang memerlukan waktu lebih dari 10 detik untuk dijalankan akan dicatat dalam log. Untuk mengubah interval ini, ketikkan perintah berikut, ganti X dengan waktu dalam detik. SET GLOBAL long_query_time = X;
Secara default, file log permintaan lambat terletak di /var/lib/mysql/hostname-slow. catatan. Untuk mengubah jalur log atau nama file, ketikkan perintah berikut, ganti jalur dengan jalur ke file, dan nama file dengan nama nama file log
SET GLOBAL slow_query_log_file = '/path/filename';
Untuk memverifikasi bahwa log kueri yang lambat berfungsi dengan benar, keluar dari program mysql, lalu masuk kembali. (Ini memuat ulang variabel sesi untuk program mysql. ) Ketik perintah berikut, ganti X dengan nilai yang lebih besar dari pengaturan long_query_time
SELECT SLEEP(X);_File log kueri lambat harus berisi informasi tentang kueri
- Terus pantau file log kueri yang lambat untuk melihat kueri mana yang membutuhkan waktu lama untuk dijalankan
Setelah Anda selesai memecahkan masalah, nonaktifkan log kueri yang lambat. Untuk melakukannya, jalankan kembali program mysql, lalu ketikkan perintah berikut
SET GLOBAL slow_query_log = 'OFF';Anda sebaiknya hanya mengaktifkan log kueri lambat selama diperlukan untuk memecahkan masalah kinerja
Informasi Lebih Lanjut
Untuk informasi selengkapnya tentang log kueri lambat MySQL, silakan kunjungi https. //dev. mysql. com/doc/refman/5. 5/id/log-permintaan-lambat. html
Kembangkan Bisnis Web Anda
Berlanggananlah untuk menerima kiat, strategi, dan berita tercanggih mingguan yang Anda perlukan untuk mengembangkan bisnis web Anda
Gratis. Berhenti berlangganan kapan saja
Apakah menurut Anda artikel ini bermanfaat? . Rasakan perbedaan A2 Hosting hari ini dan dapatkan situs web pra-pengamanan dan pra-pengoptimalan. Lihat paket hosting web kami hari ini
Log kesalahan RDS untuk MySQL dibuat secara default. Anda dapat membuat kueri lambat dan log umum dengan menyetel parameter di grup parameter DB Anda
RDS untuk log kesalahan MySQL
RDS untuk MySQL menulis kesalahan dalam file mysql-error.log. Setiap file log memiliki jam pembuatannya (dalam UTC) ditambahkan ke namanya. File log juga memiliki stempel waktu yang membantu Anda menentukan kapan entri log ditulis
RDS untuk MySQL menulis ke log kesalahan hanya saat memulai, mematikan, dan saat menemukan kesalahan. Instans DB dapat berlangsung berjam-jam atau berhari-hari tanpa entri baru ditulis ke log kesalahan. Jika Anda tidak melihat entri terbaru, itu karena server tidak mengalami kesalahan yang akan menghasilkan entri log
Secara desain, log kesalahan difilter sehingga hanya kejadian tak terduga seperti kesalahan yang ditampilkan. Namun, log kesalahan juga berisi beberapa informasi database tambahan, misalnya kemajuan kueri, yang tidak ditampilkan. Oleh karena itu, bahkan tanpa kesalahan yang sebenarnya, ukuran log kesalahan mungkin bertambah karena aktivitas database yang sedang berlangsung. Dan meskipun Anda mungkin melihat ukuran tertentu dalam byte atau kilobyte untuk log kesalahan di AWS Management Console, mereka mungkin memiliki 0 byte saat Anda mengunduhnya
RDS untuk MySQL menulis mysql-error.log ke disk setiap 5 menit. Itu menambahkan isi log ke mysql-error-running.log
RDS untuk MySQL memutar file mysql-error-running.log setiap jam. Itu mempertahankan log yang dihasilkan selama dua minggu terakhir
Periode retensi log berbeda antara Amazon RDS dan Aurora
RDS untuk kueri lambat MySQL dan log umum
Anda dapat menulis log permintaan lambat RDS untuk MySQL dan log umum ke file atau tabel database. Untuk melakukannya, tetapkan parameter di grup parameter DB Anda. Untuk informasi tentang membuat dan mengubah grup parameter DB, lihat Bekerja dengan grup parameter. Anda harus mengatur parameter ini sebelum Anda dapat melihat log kueri lambat atau log umum di konsol Amazon RDS atau dengan menggunakan Amazon RDS API, Amazon RDS CLI, atau AWS SDK
Anda dapat mengontrol RDS untuk pembuatan log MySQL dengan menggunakan parameter dalam daftar ini
slow_query_log. Untuk membuat log kueri lambat, setel ke 1. Standarnya adalah 0
general_log. Untuk membuat log umum, setel ke 1. Standarnya adalah 0
long_query_time. Untuk mencegah kueri yang berjalan cepat dicatat dalam log kueri lambat, tentukan nilai untuk waktu proses kueri terpendek yang akan dicatat, dalam hitungan detik. Standarnya adalah 10 detik; . Jika log_output = FILE, Anda dapat menentukan nilai floating point yang masuk ke resolusi mikrodetik. Jika log_output = TABLE, Anda harus menentukan nilai integer dengan resolusi kedua. Hanya kueri yang waktu prosesnya melebihi nilai long_query_time yang dicatat. Misalnya, menyetel long_query_time_ ke 0. 1 mencegah kueri apa pun yang berjalan kurang dari 100 milidetik untuk dicatat
log_queries_not_using_indexes. Untuk mencatat semua kueri yang tidak menggunakan indeks ke log kueri lambat, setel ke 1. Kueri yang tidak menggunakan indeks dicatat meskipun waktu prosesnya kurang dari nilai parameter long_query_time. Standarnya adalah 0
mysql-error.log_1. Anda dapat menentukan salah satu opsi berikut untuk parameter mysql-error.log2
TABEL (default) – Tulis kueri umum ke tabel mysql-error.log3, dan kueri lambat ke tabel mysql-error.log4
FILE – Tulis log kueri umum dan lambat ke sistem file
NONE – Nonaktifkan logging
Untuk informasi selengkapnya tentang kueri lambat dan log umum, buka topik berikut dalam dokumentasi MySQL
Log audit MySQL
Untuk mengakses log audit, instans DB harus menggunakan grup opsi kustom dengan opsi mysql-error.log5. Untuk informasi selengkapnya, lihat dukungan Plugin Audit MariaDB
Rotasi log dan retensi untuk RDS untuk MySQL
Saat logging diaktifkan, Amazon RDS merotasi log tabel atau menghapus file log secara berkala. Tindakan ini merupakan tindakan pencegahan untuk mengurangi kemungkinan file log yang besar memblokir penggunaan database atau memengaruhi kinerja. RDS untuk MySQL menangani rotasi dan penghapusan sebagai berikut
Log kueri lambat MySQL, log kesalahan, dan ukuran file log umum dibatasi tidak lebih dari 2 persen dari ruang penyimpanan yang dialokasikan untuk instans DB. Untuk mempertahankan ambang ini, log diputar secara otomatis setiap jam. MySQL menghapus file log yang berumur lebih dari dua minggu. Jika ukuran file log gabungan melebihi ambang batas setelah menghapus file log lama, maka file log terlama akan dihapus hingga ukuran file log tidak lagi melebihi ambang batas
Saat mysql-error.log_6 logging diaktifkan, file log diperiksa setiap jam dan file log yang berumur lebih dari dua minggu dihapus. Dalam beberapa kasus, ukuran file log gabungan yang tersisa setelah penghapusan mungkin melebihi ambang 2 persen dari ruang yang dialokasikan instans DB. Dalam kasus ini, file log terlama dihapus hingga ukuran file log tidak lagi melebihi ambang batas
Saat mysql-error.log_7 logging diaktifkan, dalam beberapa kasus, tabel log diputar setiap 24 jam. Rotasi ini terjadi jika ruang yang digunakan oleh tabel log lebih dari 20 persen ruang penyimpanan yang dialokasikan. Itu juga terjadi jika ukuran semua log digabungkan lebih besar dari 10 GB. Jika jumlah ruang yang digunakan untuk instans DB lebih besar dari 90 persen ruang penyimpanan yang dialokasikan instans DB, ambang untuk rotasi log akan dikurangi. Tabel log kemudian diputar jika ruang yang digunakan oleh tabel log lebih dari 10 persen dari ruang penyimpanan yang dialokasikan. Mereka juga diputar jika ukuran semua log digabungkan lebih besar dari 5 GB. Anda dapat berlangganan acara mysql-error.log_8 untuk diberi tahu saat tabel log diputar untuk mengosongkan ruang. Untuk informasi selengkapnya, lihat Bekerja dengan pemberitahuan kejadian Amazon RDS
Saat tabel log diputar, tabel log saat ini pertama kali disalin ke tabel log cadangan. Kemudian entri dalam tabel log saat ini akan dihapus. Jika tabel log cadangan sudah ada, maka akan dihapus sebelum tabel log saat ini disalin ke cadangan. Anda dapat menanyakan tabel log cadangan jika diperlukan. Tabel log cadangan untuk tabel mysql-error.log_3 diberi nama mysql-error-running.log0. Tabel log cadangan untuk tabel mysql-error.log_4 diberi nama mysql-error-running.log2
Anda dapat memutar tabel mysql-error.log_3 dengan memanggil prosedur mysql-error-running.log4. Anda dapat memutar tabel mysql-error.log_4 dengan memanggil prosedur mysql-error-running.log6
Log tabel diputar selama pemutakhiran versi database
Untuk bekerja dengan log dari konsol Amazon RDS, Amazon RDS API, Amazon RDS CLI, atau AWS SDK, setel parameter mysql-error.log2 ke FILE. Seperti log kesalahan MySQL, file log ini diputar setiap jam. Berkas log yang dihasilkan selama dua minggu sebelumnya dipertahankan. Perhatikan bahwa periode retensi berbeda antara Amazon RDS dan Aurora
Batas ukuran pada redo log
Untuk RDS untuk MySQL versi 8. 0. 30 dan lebih tinggi, parameter mysql-error-running.log9 digunakan sebagai pengganti parameter mysql-error-running.log8. Batas ukuran tidak berlaku untuk parameter mysql-error-running.log9. Untuk informasi lebih lanjut, lihat