

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

# File log database MySQL Aurora
<a name="USER_LogAccess.Concepts.MySQL"></a>

Anda dapat memantau log Aurora MySQL langsung melalui konsol Amazon RDS, Amazon RDS API, atau. AWS CLI AWS SDKs Anda juga dapat mengakses log MySQL dengan mengarahkan log ke tabel basis data di basis data utama dan mengueri tabel tersebut. Anda dapat menggunakan utilitas mysqlbinlog untuk mengunduh log biner. 

Untuk mengetahui informasi selengkapnya tentang cara melihat, mengunduh, dan melihat log basis data berbasis file, lihat [Memantau log Amazon Aurora Amazon](USER_LogAccess.md).

**Topics**
+ [Ringkasan log basis data Aurora MySQL](USER_LogAccess.MySQL.LogFileSize.md)
+ [Mengirim keluaran log Aurora MySQL ke tabel](Appendix.MySQL.CommonDBATasks.Logs.md)
+ [Mengkonfigurasi Aurora untuk database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md)
+ [Mengakses log biner MySQL](USER_LogAccess.MySQL.Binarylog.md)

# Ringkasan log basis data Aurora MySQL
<a name="USER_LogAccess.MySQL.LogFileSize"></a>

Anda dapat memantau jenis file log Aurora MySQL berikut:
+ Log kesalahan
+ Log kueri lambat
+ Log umum
+ Log audit
+ Log contoh
+ Log kesalahan otentikasi basis data IAM

Log kesalahan Aurora MySQL dihasilkan secara default. Anda dapat membuat kueri lambat dan log umum dengan mengatur parameter di grup parameter DB Anda.

**Topics**
+ [Log kesalahan Aurora MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Log umum dan kueri lambat Aurora MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Log audit Aurora MySQL](#ams-audit-log)
+ [Log contoh MySQL Aurora](#ams-instance-log)
+ [Rotasi dan retensi log untuk Aurora MySQL](#USER_LogAccess.AMS.LogFileSize.retention)
+ [Menerbitkan log Aurora MySQL ke Amazon Logs CloudWatch](#USER_LogAccess.MySQLDB.PublishAuroraMySQLtoCloudWatchLogs)

## Log kesalahan Aurora MySQL
<a name="USER_LogAccess.MySQL.Errorlog"></a>

Kesalahan tulis Aurora MySQL dalam file `mysql-error.log`. Setiap file log memiliki jam pembuatan (dalam UTC) yang ditambahkan pada namanya. File log juga memiliki stempel waktu yang membantu Anda menentukan kapan entri log ditulis.

Aurora MySQL ditulis ke log kesalahan hanya saat dinyalakan, dimatikan, dan saat terjadi 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 Konsol Manajemen AWS, mereka mungkin memiliki 0 byte saat Anda mengunduhnya.

Aurora MySQL menulis `mysql-error.log` ke disk setiap 5 menit. Ini menambahkan konten log ke `mysql-error-running.log`.

Aurora MySQL merotasi file `mysql-error-running.log` setiap jam.

**catatan**  
Periode retensi log berbeda antara Amazon RDS dan Aurora.

## Log umum dan kueri lambat Aurora MySQL
<a name="USER_LogAccess.MySQL.Generallog"></a>

Anda dapat menulis log umum dan log kueri lambat Aurora MySQL ke file atau tabel basis data. Untuk melakukannya, atur parameter di grup parameter DB Anda. Untuk mengetahui informasi tentang cara membuat dan memodifikasi grup parameter DB, lihat [](USER_WorkingWithParamGroups.md). Anda harus mengatur parameter ini sebelum dapat melihat log kueri lambat atau log umum di konsol Amazon RDS atau dengan menggunakan Amazon RDS API, Amazon RDS CLI, atau. AWS SDKs

Anda dapat mengontrol pencatatan log Aurora MySQL 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\$1output = FILE, Anda dapat menentukan nilai titik mengambang yang masuk ke resolusi mikrodetik. Jika log\$1output = 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** – Menulis kueri umum ke tabel `mysql.general_log`, dan kueri lambat ke tabel `mysql.slow_log`.
  + **FILE** – Menulis log umum dan log kueri lambat ke sistem file.
  + **TIDAK ADA** – Menonaktifkan pencatatan log.

  Untuk Aurora MySQL versi 2 dan 3, defaultnya adalah. `log_output` `FILE`

Agar data kueri lambat muncul di CloudWatch Log Amazon, kondisi berikut harus dipenuhi:
+ CloudWatch Log harus dikonfigurasi untuk menyertakan log kueri yang lambat.
+ `slow_query_log`harus diaktifkan.
+ `log_output` harus diatur ke `FILE`.
+ Kueri harus memakan waktu lebih lama dari waktu yang dikonfigurasi`long_query_time`.

Untuk mengetahui informasi selengkapnya tentang log umum dan kueri lambat, buka topik berikut di dokumentasi MySQL:
+ [Log kueri lambat](https://dev.mysql.com/doc/refman/8.0/en/slow-query-log.html)
+ [Log kueri umum](https://dev.mysql.com/doc/refman/8.0/en/query-log.html)

## Log audit Aurora MySQL
<a name="ams-audit-log"></a>

Pencatatan log audit untuk Aurora MySQL disebut Audit Lanjutan. Untuk mengaktifkan Audit Lanjutan, tetapkan parameter klaster DB tertentu. Untuk informasi selengkapnya, lihat [Menggunakan Audit Lanjutan dengan klaster Amazon Aurora My DB SQL](AuroraMySQL.Auditing.md).

## Log contoh MySQL Aurora
<a name="ams-instance-log"></a>

Aurora membuat file log terpisah untuk instans DB yang mengaktifkan jeda otomatis. File instance.log ini mencatat alasan mengapa instance DB ini tidak dapat dijeda saat diharapkan. Untuk informasi selengkapnya tentang perilaku file log instance dan kemampuan jeda otomatis Aurora, lihat Memantau aktivitas jeda dan melanjutkan [Aurora Tanpa Server v2](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless-v2-administration.html#autopause-logging-instance-log).

## Rotasi dan retensi log untuk Aurora MySQL
<a name="USER_LogAccess.AMS.LogFileSize.retention"></a>

Saat pencatatan log diaktifkan, Amazon Aurora merotasi atau menghapus file log secara berkala. Langkah ini merupakan tindakan pencegahan untuk mengurangi kemungkinan file log besar memblokir penggunaan basis data atau memengaruhi performa. Aurora MySQL menangani rotasi dan penghapusan sebagai berikut:
+ Ukuran file log kesalahan Aurora MySQL dibatasi hingga tidak lebih dari 15 persen dari penyimpanan lokal untuk instans DB. Untuk mempertahankan ambang batas ini, log secara otomatis dirotasi setiap jam. Aurora MySQL menghapus log setelah 30 hari atau ketika 15% dari ruang disk tercapai. 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.
+ Aurora MySQL menghapus log audit, umum, dan kueri lambat setelah 24 jam atau ketika 15% dari penyimpanan telah terpakai.
+ Saat pencatatan log `FILE` diaktifkan, file log umum dan kueri lambat akan diperiksa setiap jam dan file log yang berusia lebih dari 24 jam akan dihapus. Dalam beberapa kasus, ukuran file log gabungan yang tersisa setelah penghapusan mungkin melebihi ambang batas 15 persen dari ruang lokal 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, tabel log tidak dirotasi atau dihapus. Tabel log akan dipotong jika ukuran semua log yang digabungkan terlalu besar. Anda dapat berlangganan kategori `low storage` acara untuk diberi tahu ketika tabel log harus diputar atau dihapus secara manual untuk mengosongkan ruang. Untuk informasi selengkapnya, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).

  Anda dapat merotasi tabel `mysql.general_log` secara manual dengan memanggil prosedur `mysql.rds_rotate_general_log`. Anda dapat merotasi tabel `mysql.slow_log` dengan mengikuti prosedur `mysql.rds_rotate_slow_log`.

  Saat Anda merotasi tabel log secara manual, tabel log saat ini disalin ke tabel log cadangan dan entri di 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`.
+ Log audit Aurora MySQL dirotasi saat ukuran file mencapai 100 MB, dan dihapus setelah 24 jam.
+ Amazon RDS memutar file log kesalahan otentikasi database IAM yang lebih besar dari 10 MB. Amazon RDS menghapus file log kesalahan otentikasi database IAM yang lebih tua dari lima hari atau lebih besar dari 100 MB.

Untuk bekerja dengan log dari konsol Amazon RDS, Amazon RDS API, Amazon RDS CLI, AWS SDKs atau, atur `log_output` parameter ke FILE. Seperti log kesalahan Aurora MySQL, file log ini dirotasi setiap jam. File log yang dihasilkan selama 24 jam sebelumnya akan dipertahankan. Perhatikan bahwa periode retensi log berbeda antara Amazon RDS dan Aurora.

## Menerbitkan log Aurora MySQL ke Amazon Logs CloudWatch
<a name="USER_LogAccess.MySQLDB.PublishAuroraMySQLtoCloudWatchLogs"></a>

Anda dapat mengonfigurasi cluster DB MySQL Aurora Anda untuk mempublikasikan data log ke grup log di Amazon Logs. CloudWatch Dengan CloudWatch Log, Anda dapat melakukan analisis real-time dari data log, dan menggunakannya CloudWatch untuk membuat alarm dan melihat metrik. Anda dapat menggunakan CloudWatch Log untuk menyimpan catatan log Anda dalam penyimpanan yang sangat tahan lama. Lihat informasi yang lebih lengkap di [Menerbitkan log Amazon Aurora MySQL ke Amazon Logs CloudWatch](AuroraMySQL.Integrating.CloudWatch.md).

# Mengirim keluaran log Aurora MySQL ke tabel
<a name="Appendix.MySQL.CommonDBATasks.Logs"></a>

Anda dapat mengarahkan log umum dan log kueri lambat ke tabel di instans DB dengan membuat grup parameter DB dan menetapkan parameter server `log_output` ke `TABLE`. Kueri umum lalu dicatat ke tabel `mysql.general_log` dan kueri lambat dicatat ke tabel `mysql.slow_log`. Anda dapat mengueri tabel untuk mengakses informasi log. Mengaktifkan pencatatan log ini akan meningkatkan jumlah data yang akan ditulis ke basis data, yang dapat menurunkan performa.

Log umum dan log kueri lambat dinonaktifkan secara default. Untuk mengaktifkan pencatatan log ke tabel, Anda juga harus mengatur parameter server `general_log` dan `slow_query_log` ke `1`.

Tabel log terus bertambah hingga aktivitas pencatatan log masing-masing dinonaktifkan dengan mengatur ulang parameter yang sesuai ke `0`. Banyak data yang sering terakumulasi seiring berjalannya waktu. Hal ini dapat menghabiskan cukup banyak ruang penyimpanan yang dialokasikan. Amazon Aurora tidak memungkinkan Anda memotong tabel log, tetapi Anda dapat memindahkan konten tabel. Merotasi tabel akan menyimpan kontennya ke tabel cadangan dan membuat tabel log kosong yang baru. Anda dapat merotasi tabel log secara manual dengan mengikuti prosedur perintah berikut, tempat permintaan perintah ditunjukkan oleh `PROMPT>`: 

```
PROMPT> CALL mysql.rds_rotate_slow_log;
PROMPT> CALL mysql.rds_rotate_general_log;
```

Untuk menghapus data lama sepenuhnya dan mengosongkan kembali ruang disk, panggil prosedur yang sesuai dua kali secara berurutan. 

# Mengkonfigurasi Aurora untuk database Single-AZ
<a name="USER_LogAccess.MySQL.BinaryFormat"></a>

*Log biner* adalah sekumpulan file log yang berisi informasi tentang modifikasi data yang dibuat ke instans server Aurora MySQL. Log biner berisi informasi seperti berikut:
+ Peristiwa yang menggambarkan perubahan basis data seperti pembuatan tabel atau modifikasi baris
+ Informasi tentang durasi setiap pernyataan yang memperbarui data
+ Peristiwa untuk pernyataan yang bisa saja memperbarui data, tetapi tidak

Log biner mencatat pernyataan yang dikirim selama replikasi. Log ini juga diperlukan untuk beberapa operasi pemulihan. Untuk informasi selengkapnya, lihat [Log Biner](https://dev.mysql.com/doc/refman/8.0/en/binary-log.html) dalam dokumentasi MySQL.

Log biner hanya dapat diakses dari instans DB primer, bukan dari replika.

MySQL di Amazon Aurora mendukung format pencatatan log biner *berbasis baris*, *berbasis pernyataan*, dan *campuran*. Kami merekomendasikan campuran kecuali Anda memerlukan format binlog tertentu. Untuk detail tentang berbagai format log biner Aurora MySQL, lihat [Format Pencatatan](https://dev.mysql.com/doc/refman/8.0/en/binary-log-formats.html) Biner dalam dokumentasi MySQL.

Jika Anda berencana menggunakan replikasi, format pencatatan log biner diperlukan karena menentukan catatan perubahan data yang dicatat di sumber dan dikirim ke target replikasi. Untuk informasi tentang kelebihan dan kekurangan format logging biner yang berbeda untuk replikasi, lihat [Keuntungan dan Kerugian Replikasi Berbasis Pernyataan dan Berbasis Baris dalam dokumentasi MySQL.](https://dev.mysql.com/doc/refman/8.0/en/replication-sbr-rbr.html)

**penting**  
Dengan MySQL 8.0.34, MySQL menghentikan parameter. `binlog_format` Di versi MySQL selanjutnya, MySQL berencana untuk menghapus parameter dan hanya mendukung replikasi berbasis baris. Sebagai hasilnya, sebaiknya gunakan logging berbasis baris untuk pengaturan replikasi MySQL baru. Untuk informasi selengkapnya, lihat [binlog\$1format dalam dokumentasi](https://dev.mysql.com/doc/refman/8.0/en/replication-options-binary-log.html#sysvar_binlog_format) MySQL.  
MySQL versi 8.0 dan 8.4 menerima parameter. `binlog_format` Saat menggunakan parameter ini, MySQL mengeluarkan peringatan penghentian. Dalam rilis utama future, MySQL akan menghapus parameter. `binlog_format`  
Replikasi berbasis pernyataan dapat menyebabkan inkonsistensi antara klaster DB dan replika baca. Untuk informasi selengkapnya, lihat [Penentuan Pernyataan Aman dan Tidak Aman di Binary Logging](https://dev.mysql.com/doc/refman/8.0/en/replication-rbr-safe-unsafe.html) di dokumentasi MySQL.  
Mengaktifkan logging biner meningkatkan jumlah I/O operasi write disk ke cluster DB. Anda dapat memantau penggunaan IOPS dengan `` `VolumeWriteIOPs` CloudWatch metrik.

**Untuk mengatur format pencatatan log biner MySQL**

1. Buka konsol Amazon RDS di [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Di panel navigasi, pilih **Grup parameter**.

1. Pilih grup parameter klaster DB, yang terkait dengan klaster DB, yang ingin dimodifikasi.

   Anda tidak dapat mengubah grup parameter default. Jika klaster DB menggunakan grup parameter default, buat grup parameter baru dan hubungkan dengan klaster DB.

   Untuk mengetahui informasi selengkapnya tentang grup parameter, lihat [](USER_WorkingWithParamGroups.md).

1. Dari **Tindakan**, pilih **Edit**.

1. Atur parameter `binlog_format` ke format pencatatan log biner pilihan Anda (`ROW`, `STATEMENT`, atau `MIXED`). Anda juga dapat menggunakan nilai `OFF` untuk menonaktifkan pencatatan log biner.
**catatan**  
Pengaturan `binlog_format` ke `OFF` dalam kelompok parameter cluster DB menonaktifkan variabel `log_bin` sesi. Ini menonaktifkan logging biner pada cluster DB MySQL Aurora, yang pada gilirannya `binlog_format` mengatur ulang variabel sesi ke nilai default dalam database. `ROW`

1. Pilih **Simpan perubahan** untuk menyimpan pembaruan ke grup parameter klaster DB.

Setelah melakukan langkah-langkah ini, Anda harus mem-boot ulang instans penulis di klaster DB untuk menerapkan perubahan. Dalam Aurora MySQL versi 2.09 dan yang lebih rendah, saat Anda mem-boot ulang instans penulis, semua instans pembaca di klaster DB juga akan di-boot ulang. Dalam Aurora MySQL versi 2.10 dan yang lebih baru, Anda harus mem-boot ulang semua instans pembaca secara manual. Untuk informasi selengkapnya, lihat [Mem-boot ulang klaster DB Amazon Aurora atau instans DB Amazon Aurora](USER_RebootCluster.md).

**penting**  
Mengubah grup parameter klaster DB memengaruhi semua klaster DB yang menggunakan grup parameter tersebut. Jika Anda ingin menentukan format logging biner yang berbeda untuk cluster Aurora MySQL DB yang berbeda di AWS Wilayah, cluster DB harus menggunakan kelompok parameter cluster DB yang berbeda. Grup parameter ini mengidentifikasi format pencatatan log yang berbeda. Tetapkan grup parameter klaster DB yang sesuai ke masing-masing klaster DB. Untuk mengetahui informasi selengkapnya tentang parameter Aurora MySQL, lihat [Parameter konfigurasi Aurora MySQL](AuroraMySQL.Reference.ParameterGroups.md).

# Mengakses log biner MySQL
<a name="USER_LogAccess.MySQL.Binarylog"></a>

Anda dapat menggunakan utilitas mysqlbinlog untuk mengunduh atau mengalirkan log biner dari instans DB RDS for MySQL. Log biner diunduh ke komputer lokal, tempat Anda dapat melakukan tindakan seperti memutar ulang log menggunakan utilitas mysql. Untuk mengetahui informasi selengkapnya tentang cara menggunakan utilitas mysqlbinlog, lihat [Using mysqlbinlog to back up binary log files](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-backup.html) dalam dokumentasi MySQL.

Untuk menjalankan utilitas mysqlbinlog terhadap instans Amazon RDS, gunakan opsi berikut:
+ `--read-from-remote-server` – Wajib diisi.
+ `--host` – Nama DNS dari titik akhir instans.
+ `--port` – Port yang digunakan oleh instans.
+ `--user` – Pengguna MySQL yang telah diberi izin `REPLICATION SLAVE`.
+ `--password` – Kata sandi untuk pengguna MySQL, atau hapus nilai kata sandi agar utilitas meminta Anda memasukkan kata sandi.
+ `--raw` – Mengunduh file dalam format biner.
+ `--result-file` – File lokal untuk menerima output mentah.
+ `--stop-never` – Mengalirkan file log biner.
+ `--verbose` – Jika Anda menggunakan format binlog `ROW`, sertakan opsi ini untuk melihat peristiwa baris sebagai pernyataan pseudo-SQL. Untuk mengetahui informasi selengkapnya tentang opsi `--verbose`, lihat [mysqlbinlog row event display](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog-row-events.html) dalam dokumentasi MySQL.
+ Tentukan nama satu atau beberapa file log biner. Untuk mendapatkan daftar log yang tersedia, gunakan perintah SQL `SHOW BINARY LOGS`.

Untuk mengetahui informasi selengkapnya tentang opsi mysqlbinlog, lihat [mysqlbinlog — Utility for processing binary log files](https://dev.mysql.com/doc/refman/8.0/en/mysqlbinlog.html) dalam dokumentasi MySQL.

Contoh berikut menunjukkan cara menggunakan utilitas mysqlbinlog.

Untuk Linux, macOS, atau Unix:

```
mysqlbinlog \
    --read-from-remote-server \
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com \
    --port=3306  \
    --user ReplUser \
    --password \
    --raw \
    --verbose \
    --result-file=/tmp/ \
    binlog.00098
```

Untuk Windows:

```
mysqlbinlog ^
    --read-from-remote-server ^
    --host=MySQLInstance1.cg034hpkmmjt.region.rds.amazonaws.com ^
    --port=3306  ^
    --user ReplUser ^
    --password ^
    --raw ^
    --verbose ^
    --result-file=/tmp/ ^
    binlog.00098
```

Log biner harus tetap tersedia pada instance DB untuk utilitas mysqlbinlog untuk mengaksesnya. Untuk memastikan ketersediaannya, gunakan prosedur yang [mysql.rds\$1set\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_set_configuration) disimpan dan tentukan periode dengan waktu yang cukup bagi Anda untuk mengunduh log. Jika konfigurasi ini tidak disetel, Amazon RDS membersihkan log biner sesegera mungkin, yang menyebabkan celah di log biner yang diambil oleh utilitas mysqlbinlog. 

Contoh berikut menetapkan periode retensi ke 1 hari.

```
call mysql.rds_set_configuration('binlog retention hours', 24);
```

Untuk menampilkan pengaturan saat ini, gunakan prosedur tersimpan [mysql.rds\$1show\$1configuration](mysql-stored-proc-configuring.md#mysql_rds_show_configuration).

```
call mysql.rds_show_configuration;
```