Ikhtisar untuk log database Saya SQL - Layanan Basis Data Relasional Amazon

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Ikhtisar untuk log database Saya SQL

Anda dapat memantau jenis file log berikut:

  • Log kesalahan

  • Log kueri lambat

  • Log umum

  • Log audit

Log SQL kesalahan for My dibuat secara default. Anda dapat membuat kueri lambat dan log umum dengan mengatur parameter di grup parameter DB Anda.

error logs SQL

for My SQL menulis kesalahan dalam file. mysql-error.log Setiap file log memiliki jam itu dihasilkan (inUTC) ditambahkan ke namanya. File log juga memiliki stempel waktu yang membantu Anda menentukan kapan entri log ditulis.

for My SQL menulis ke log kesalahan hanya saat startup, shutdown, dan ketika menemukan kesalahan. Instan DB dapat memakan waktu berjam-jam atau berhari-hari tanpa perlu menulis entri baru ke log kesalahan. Jika Anda melihat tidak ada entri terbaru, berarti server tidak mengalami kesalahan yang akan mengakibatkan entri log.

Secara desain, log kesalahan difilter sehingga hanya peristiwa tak terduga seperti kesalahan yang ditampilkan. Namun, log kesalahan juga berisi beberapa informasi basis data tambahan, misalnya kemajuan kueri, yang tidak ditampilkan. Oleh karena itu, bahkan tanpa kesalahan aktual, ukuran log kesalahan mungkin meningkat dikarenakan aktivitas basis data yang sedang berlangsung. Dan sementara Anda mungkin melihat ukuran tertentu dalam byte atau kilobyte untuk log kesalahan di AWS Management Console, mereka mungkin memiliki 0 byte saat Anda mengunduhnya.

for My SQL menulis mysql-error.log ke disk setiap 5 menit. Ini menambahkan konten log ke mysql-error-running.log.

RDSkarena My SQL memutar mysql-error-running.log file setiap jam. Ini mempertahankan log yang dihasilkan selama dua minggu terakhir.

catatan

Periode retensi log berbeda antara Amazon RDS dan Aurora.

slow query dan log umum

Anda dapat menulis for My SQL slow query log dan log umum ke file atau tabel database. Untuk melakukannya, atur parameter di grup parameter DB Anda. Untuk mengetahui informasi tentang cara membuat dan memodifikasi grup parameter DB, lihat Grup parameter untuk RDS. Anda harus mengatur parameter ini sebelum dapat melihat log kueri lambat atau log umum di RDS konsol Amazon atau dengan menggunakan Amazon RDSAPI, Amazon RDSCLI, atau AWS SDKs.

Anda dapat mengontrol for My SQL logging dengan menggunakan parameter dalam daftar ini:

  • slow_query_log: Untuk membuat log kueri lambat, atur ke 1. Default-nya adalah 0.

  • general_log: Untuk membuat log umum, atur ke 1. Default-nya adalah 0.

  • long_query_time: Untuk mencegah pencatatan log kueri yang berjalan cepat dalam log kueri lambat, tentukan nilai untuk runtime kueri terpendek yang akan dicatat, dalam detik. Nilai default-nya adalah 10 detik; nilai minimumnya adalah 0. 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 runtime-nya melebihi nilai long_query_time yang akan dicatat. Misalnya, mengatur long_query_time ke 0,1 akan mencegah pencatatan log kueri apa pun yang berjalan kurang dari 100 milidetik.

  • log_queries_not_using_indexes: Untuk mencatat semua kueri yang tidak menggunakan indeks pada log kueri lambat, atur ke 1. Kueri yang tidak menggunakan indeks dicatat meskipun runtime-nya kurang dari nilai parameter long_query_time. Default-nya adalah 0.

  • log_output option: Anda dapat menentukan salah satu opsi berikut untuk parameter log_output.

    • TABLE(default) — Tulis kueri umum ke mysql.general_log tabel, dan memperlambat kueri ke tabel. mysql.slow_log

    • FILE— Tulis log kueri umum dan lambat ke sistem file.

    • NONE— Nonaktifkan logging.

Untuk informasi lebih lanjut tentang kueri lambat dan log umum, buka topik berikut di SQL dokumentasi Saya:

Log SQL audit saya

Untuk mengakses log audit, instans DB harus menggunakan grup opsi kustom dengan opsi MARIADB_AUDIT_PLUGIN. Untuk informasi selengkapnya, lihat Dukungan MariaDB Audit Plugin untuk MySQL.

Rotasi log dan retensi RDS untuk My SQL

Saat logging diaktifkan, Amazon RDS memutar log tabel atau menghapus file log secara berkala. Langkah ini merupakan tindakan pencegahan untuk mengurangi kemungkinan file log besar memblokir penggunaan basis data atau memengaruhi performa. RDSuntuk SQL pegangan saya rotasi dan penghapusan sebagai berikut:

  • Log kueri SQL lambat saya, log kesalahan, dan ukuran file log umum dibatasi tidak lebih dari 2 persen ruang penyimpanan yang dialokasikan untuk instance DB. Untuk mempertahankan ambang batas ini, log secara otomatis dirotasi setiap jam. Saya SQL menghapus file log yang berumur lebih dari dua minggu. Jika ukuran file log gabungan melebihi ambang batas setelah file log lama dihapus, file log paling lama akan dihapus hingga ukuran file log tidak lagi melebihi ambang batas.

  • Jika pencatatan log FILE diaktifkan, file log akan diperiksa setiap jam dan file log yang berusia lebih dari dua minggu akan dihapus. Dalam beberapa kasus, ukuran file log gabungan yang tersisa setelah penghapusan mungkin melebihi ambang batas 2 persen dari ruang yang dialokasikan oleh instans DB. Dalam kasus ini, file log yang paling lama akan dihapus hingga ukuran file log tidak lagi melebihi ambang batas.

  • Saat pencatatan log TABLE diaktifkan, dalam beberapa kasus tabel log dirotasi setiap 24 jam. Rotasi ini terjadi jika ruang yang digunakan oleh log tabel lebih dari 20 persen dari ruang penyimpanan yang dialokasikan. Rotasi ini juga terjadi jika ukuran semua log yang digabungkan lebih besar dari 10 GB. Jika jumlah ruang yang digunakan untuk instans DB lebih besar dari 90 persen dari ruang penyimpanan yang dialokasikan untuk instans DB, ambang batas untuk rotasi log akan berkurang. Tabel log ini kemudian dirotasi jika ruang yang digunakan oleh log tabel lebih dari 10 persen bagi ruang penyimpanan yang dialokasikan. Tabel ini juga dirotasi jika ukuran semua log yang digabungkan lebih besar dari 5 GB. Anda dapat berlangganan peristiwa low_free_storage yang akan diberitahukan saat tabel log dirotasi untuk mengosongkan ruang. Untuk informasi selengkapnya, lihat Bekerja dengan pemberitahuan RDS acara Amazon.

    Saat tabel log dirotasi, tabel log saat ini akan disalin terlebih dahulu ke tabel log cadangan. Kemudian, entri dalam tabel log saat ini dihapus. Jika sudah ada, tabel log cadangan akan dihapus sebelum tabel log saat ini disalin ke cadangan. Anda dapat meminta tabel log cadangan jika diperlukan. Tabel log cadangan untuk tabel mysql.general_log bernama mysql.general_log_backup. Tabel log cadangan untuk tabel mysql.slow_log bernama mysql.slow_log_backup.

    Anda dapat merotasi tabel mysql.general_log dengan mengikuti prosedur mysql.rds_rotate_general_log. Anda dapat merotasi mysql.slow_log tabel dengan mengikuti mysql.rds_rotate_slow_log prosedur.

    Log tabel dirotasi selama peningkatan versi basis data.

Untuk bekerja dengan log dari RDS konsol Amazon, Amazon RDSAPI, Amazon RDSCLI, atau AWS SDKs, atur log_output parameternyaFILE. Seperti log SQL kesalahan saya, file log ini diputar setiap jam. File log yang dihasilkan selama dua minggu sebelumnya akan dipertahankan. Perhatikan bahwa periode retensi berbeda antara Amazon RDS dan Aurora.

Batas ukuran pada log redo

RDSUntuk SQL versi Saya 8.0.32 dan yang lebih rendah, nilai default parameter ini adalah 256 MB. Jumlah ini diturunkan dengan mengalikan nilai default parameter innodb_log_file_size (128 MB) dengan nilai default parameter innodb_log_files_in_group (2). Untuk informasi selengkapnya, lihat Praktik terbaik untuk mengonfigurasi parameter Amazon RDS untuk SayaSQL, bagian 1: Parameter yang terkait dengan kinerja.

Dimulai dengan RDS untuk SQL versi Saya 8.0.33, Amazon RDS menggunakan innodb_redo_log_capacity parameter alih-alih parameter. innodb_log_file_size Nilai RDS default Amazon dari innodb_redo_log_capacity parameter adalah 2 GB. Untuk informasi selengkapnya, lihat Perubahan di SQL 8.0.30 Saya di dokumentasi SayaSQL.