

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

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

Anda dapat memantau log 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 file RDS Amazon](USER_LogAccess.md).

**Topics**
+ [Ringkasan log basis data RDS for MySQL](USER_LogAccess.MySQL.LogFileSize.md)
+ [Menerbitkan log MySQL ke Amazon Logs CloudWatch](USER_LogAccess.MySQLDB.PublishtoCloudWatchLogs.md)
+ [Mengirim ke tabel](Appendix.MySQL.CommonDBATasks.Logs.md)
+ [Mengkonfigurasi MySQL RDS untuk pencatatan biner MySQL untuk database Single-AZ](USER_LogAccess.MySQL.BinaryFormat.md)
+ [Mengkonfigurasi pencatatan biner MySQL untuk cluster DB Multi-AZ](USER_Binlog.MultiAZ.md)
+ [Mengakses log biner MySQL](USER_LogAccess.MySQL.Binarylog.md)

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

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

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

**Topics**
+ [Log kesalahan RDS for MySQL](#USER_LogAccess.MySQL.Errorlog)
+ [Log umum dan kueri lambat RDS for MySQL](#USER_LogAccess.MySQL.Generallog)
+ [Log audit MySQL](#USER_LogAccess.MySQL.Auditlog)
+ [Rotasi dan retensi log untuk RDS for MySQL](#USER_LogAccess.MySQL.LogFileSize.retention)
+ [Batas ukuran pada log redo](#USER_LogAccess.MySQL.LogFileSize.RedoLogs)

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

Kesalahan tulis RDS for 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.

RDS for 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.

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

RDS for MySQL merotasi file `mysql-error-running.log` setiap jam. Ini mempertahankan log yang dihasilkan selama dua minggu terakhir.

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

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

Anda dapat menulis log umum dan log kueri lambat RDS for 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 [Grup parameter untuk RDS](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 RDS for 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** (default) – 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.

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 MySQL
<a name="USER_LogAccess.MySQL.Auditlog"></a>

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](Appendix.MySQL.Options.AuditPlugin.md).

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

Saat pencatatan log diaktifkan, Amazon RDS merotasi 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. RDS for MySQL menangani rotasi dan penghapusan sebagai berikut:
+ Ukuran file log umum, log kesalahan, dan log kueri lambat MySQL dibatasi hingga tidak lebih dari 2 persen dari ruang penyimpanan yang dialokasikan untuk instans DB. Untuk mempertahankan ambang batas ini, log secara otomatis dirotasi setiap jam. MySQL menghapus file log yang berusia 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 kategori `low storage` acara untuk diberi tahu saat tabel log diputar untuk mengosongkan ruang. Untuk informasi selengkapnya, lihat [Bekerja dengan pemberitahuan RDS acara Amazon](USER_Events.md).

  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 konsol Amazon RDS, Amazon RDS API, Amazon RDS CLI, AWS SDKs atau, atur `log_output` parameter ke FILE. Seperti log kesalahan MySQL, file log ini dirotasi setiap jam. File log yang dihasilkan selama dua minggu sebelumnya akan dipertahankan. Perhatikan bahwa periode retensi log berbeda antara Amazon RDS dan Aurora.

## Batas ukuran pada log redo
<a name="USER_LogAccess.MySQL.LogFileSize.RedoLogs"></a>

Untuk RDS for MySQL versi 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 mengetahui informasi selengkapnya, lihat [Praktik terbaik untuk mengonfigurasi parameter untuk Amazon RDS for MySQL, bagian 1: Parameter yang terkait dengan performa](https://aws.amazon.com/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-related-to-performance/). 

Untuk RDS untuk MySQL versi 8.0.33 dan versi minor yang lebih tinggi, Amazon RDS menggunakan parameter alih-alih parameter. `innodb_redo_log_capacity` `innodb_log_file_size` Nilai default Amazon RDS parameter `innodb_redo_log_capacity` adalah 2 GB. Untuk mengetahui informasi selengkapnya, lihat [Changes in MySQL 8.0.30](https://dev.mysql.com/doc/relnotes/mysql/8.0/en/news-8-0-30.html) di dokumentasi MySQL.

Dimulai dengan MySQL 8.4, Amazon RDS mengaktifkan parameter secara default. `innodb_dedicated_server` Dengan `innodb_dedicated_server` parameter, mesin database menghitung `innodb_buffer_pool_size` dan `innodb_redo_log_capacity` parameter. Untuk informasi selengkapnya, lihat [Mengkonfigurasi ukuran kolam buffer dan mengulang kapasitas log di MySQL 8.4](Appendix.MySQL.CommonDBATasks.Config.Size.8.4.md).

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

Anda dapat mengonfigurasi instans MySQL DB 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. 

Amazon RDS menerbitkan setiap log basis data MySQL sebagai aliran basis data terpisah di grup log. Misalnya, jika Anda mengonfigurasi fungsi ekspor untuk menyertakan log kueri lambat, data kueri lambat akan disimpan dalam log stream kueri lambat di grup log `/aws/rds/instance/my_instance/slowquery`. 

Log kesalahan diaktifkan secara default. Tabel berikut merangkum persyaratan untuk log MySQL lain.


| Log | Persyaratan | 
| --- | --- | 
|  Log audit  |  Instans DB harus menggunakan grup opsi kustom dengan opsi `MARIADB_AUDIT_PLUGIN`.  | 
|  Log umum  |  Instans DB harus menggunakan grup parameter kustom dengan pengaturan parameter `general_log = 1` untuk mengaktifkan log umum.  | 
|  Log kueri lambat  |  Instans DB harus menggunakan grup parameter kustom dengan pengaturan parameter `slow_query_log = 1` untuk mengaktifkan log kueri lambat.  | 
|  Log kesalahan otentikasi basis data IAM  |  Anda harus mengaktifkan jenis log `iam-db-auth-error` untuk instans DB dengan membuat atau memodifikasi instans DB.  | 
|  Output log  |  DB instance harus menggunakan grup parameter khusus dengan pengaturan parameter `log_output = FILE` untuk mencatat log ke sistem file dan menerbitkannya ke CloudWatch Logs.  | 

## Konsol
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CON"></a>

**Untuk mempublikasikan log MySQL CloudWatch ke Log menggunakan konsol**

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

1. Di panel navigasi, pilih **Basis Data**, kemudian pilih instans DB yang ingin diubah.

1. Pilih **Modifikasi**.

1. Di bagian **Log ekspor**, pilih log yang ingin Anda mulai terbitkan ke CloudWatch Log.

1. Pilih **Lanjutkan**, lalu pilih **Ubah Instans DB** di halaman ringkasan.

## AWS CLI
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.CLI"></a>

 Anda dapat mempublikasikan log MySQL dengan file. AWS CLI Anda dapat memanggil perintah [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) dengan parameter berikut: 
+ `--db-instance-identifier`
+ `--cloudwatch-logs-export-configuration`

**catatan**  
Perubahan pada opsi `--cloudwatch-logs-export-configuration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, opsi `--apply-immediately` dan `--no-apply-immediately` tidak akan berpengaruh.

Anda juga dapat mempublikasikan log MySQL dengan memanggil perintah berikut: AWS CLI 
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-db-snapshot.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-from-s3.html)
+ [https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html](https://docs.aws.amazon.com/cli/latest/reference/rds/restore-db-instance-to-point-in-time.html)

Jalankan salah satu AWS CLI perintah ini dengan opsi berikut: 
+ `--db-instance-identifier`
+ `--enable-cloudwatch-logs-exports`
+ `--db-instance-class`
+ `--engine`

Opsi lain mungkin diperlukan tergantung pada AWS CLI perintah yang Anda jalankan.

**Example**  
Contoh berikut memodifikasi instance MySQL DB yang ada untuk mempublikasikan file log ke Log. CloudWatch Nilai `--cloudwatch-logs-export-configuration` adalah objek JSON. Kunci untuk objek ini adalah `EnableLogTypes`, dan nilainya adalah serangkaian string dengan setiap kombinasi `audit`, `error`, `general`, dan `slowquery`.  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds modify-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```
Untuk Windows:  

```
1. aws rds modify-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --cloudwatch-logs-export-configuration '{"EnableLogTypes":["audit","error","general","slowquery"]}'
```

**Example**  
Contoh berikut membuat instance MySQL DB dan menerbitkan file log ke Log. CloudWatch Nilai `--enable-cloudwatch-logs-exports` adalah rangkaian string JSON. String dapat berupa kombinasi `audit`, `error`, `general`, dan `slowquery`.  
Untuk Linux, macOS, atau Unix:  

```
1. aws rds create-db-instance \
2.     --db-instance-identifier mydbinstance \
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' \
4.     --db-instance-class db.m4.large \
5.     --engine MySQL
```
Untuk Windows:  

```
1. aws rds create-db-instance ^
2.     --db-instance-identifier mydbinstance ^
3.     --enable-cloudwatch-logs-exports '["audit","error","general","slowquery"]' ^
4.     --db-instance-class db.m4.large ^
5.     --engine MySQL
```

## API RDS
<a name="USER_LogAccess.MySQL.PublishtoCloudWatchLogs.API"></a>

Anda dapat menerbitkan log MySQL dengan RDS API. Anda dapat memanggil tindakan [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html) dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `CloudwatchLogsExportConfiguration`

**catatan**  
Perubahan pada parameter `CloudwatchLogsExportConfiguration` selalu diterapkan ke instans DB secara langsung. Oleh karena itu, parameter `ApplyImmediately` tidak memiliki dampak.

Anda juga dapat menerbitkan log MySQL dengan memanggil operasi RDS API berikut: 
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CreateDBInstance.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromDBSnapshot.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceFromS3.html)
+ [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_RestoreDBInstanceToPointInTime.html)

Jalankan salah satu operasi RDS API ini dengan parameter berikut: 
+ `DBInstanceIdentifier`
+ `EnableCloudwatchLogsExports`
+ `Engine`
+ `DBInstanceClass`

Parameter lain mungkin diperlukan tergantung pada AWS CLI perintah yang Anda jalankan.

# Mengirim 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 RDS 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 MySQL RDS untuk pencatatan biner MySQL 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 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.

Fitur cadangan otomatis menentukan apakah pencatatan log biner diaktifkan atau dinonaktifkan untuk MySQL. Anda memiliki opsi berikut:

Mengaktifkan pencatatan log biner  
Mengatur periode retensi cadangan ke nilai non-nol positif.

Menonaktifkan pencatatan log biner  
Mengatur periode retensi cadangan ke nol.

Untuk informasi selengkapnya, lihat [Mengaktifkan pencadangan otomatis](USER_WorkingWithAutomatedBackups.Enabling.md).

MySQL di Amazon RDS 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 , 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 instans 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 instance DB. Anda dapat memantau penggunaan IOPS dengan `WriteIOPS` `` 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 DB, yang terkait dengan instans DB, yang ingin dimodifikasi.

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

   Untuk mengetahui informasi selengkapnya tentang grup parameter, lihat [Grup parameter untuk RDS](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 dapat menonaktifkan pencatatan log biner dengan mengatur periode retensi cadangan instans DB ke nol, tetapi tindakan ini akan menonaktifkan cadangan otomatis harian. Menonaktifkan backup otomatis mematikan atau menonaktifkan variabel sesi. `log_bin` Ini menonaktifkan logging biner pada RDS untuk instance MySQL DB, yang pada gilirannya mengatur ulang variabel `binlog_format` sesi ke nilai default dalam database. `ROW` Sebaiknya jangan menonaktifkan cadangan. Untuk mengetahui informasi selengkapnya tentang pengaturan **Periode penyimpanan cadangan**, lihat [Pengaturan untuk instans DB](USER_ModifyInstance.Settings.md).

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

Karena `binlog_format` parameternya dinamis di RDS untuk MySQL, Anda tidak perlu me-reboot instance DB agar perubahan diterapkan. (Perhatikan bahwa di Aurora MySQL, parameter ini statis. Untuk informasi selengkapnya, lihat [Mengonfigurasi logging biner MySQL Aurora](https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/USER_LogAccess.MySQL.BinaryFormat.html).)

**penting**  
Mengubah grup parameter DB memengaruhi semua instans DB yang menggunakan grup parameter tersebut. Jika Anda ingin menentukan format logging biner yang berbeda untuk instance MySQL DB yang berbeda di Wilayah, instance DB harus AWS menggunakan grup parameter DB yang berbeda. Grup parameter ini mengidentifikasikan format logging yang berbeda. Tetapkan grup parameter DB yang sesuai ke masing-masing instans DB.

# Mengkonfigurasi pencatatan biner MySQL untuk cluster DB Multi-AZ
<a name="USER_Binlog.MultiAZ"></a>

Binary logging di Amazon RDS for MySQL Multi-AZ DB cluster mencatat semua perubahan database untuk mendukung replikasi, pemulihan, dan audit. point-in-time Dalam cluster DB multi-AZ, log biner menyinkronkan node sekunder dengan node utama, memastikan konsistensi data di seluruh Availability Zones dan memungkinkan failover yang mulus. 

Untuk mengoptimalkan pencatatan biner, Amazon RDS mendukung kompresi transaksi log biner, yang mengurangi persyaratan penyimpanan untuk log biner dan meningkatkan efisiensi replikasi.

**Topics**
+ [Kompresi transaksi log biner untuk cluster DB multi-AZ](#USER_Binlog.MultiAZ.compression)
+ [Mengkonfigurasi kompresi transaksi log biner untuk cluster DB multi-AZ](#USER_Binlog.MultiAZ.configuring)

## Kompresi transaksi log biner untuk cluster DB multi-AZ
<a name="USER_Binlog.MultiAZ.compression"></a>

Kompresi transaksi log biner menggunakan algoritma zstd untuk mengurangi ukuran data transaksi yang disimpan dalam log biner. Saat diaktifkan, mesin database MySQL memampatkan muatan transaksi menjadi satu peristiwa, meminimalkan dan menyimpan overhead. I/O Fitur ini meningkatkan kinerja database, mengurangi ukuran log biner, dan mengoptimalkan penggunaan sumber daya untuk mengelola dan mereplikasi log di cluster DB multi-AZ.

Amazon RDS menyediakan kompresi transaksi log biner untuk RDS untuk cluster DB Multi-AZ MySQL melalui parameter berikut:
+ `binlog_transaction_compression`— Ketika diaktifkan (`1`), mesin database memampatkan muatan transaksi dan menuliskannya ke log biner sebagai satu peristiwa. Ini mengurangi penggunaan penyimpanan dan I/O overhead. Parameter dinonaktifkan secara default.
+ `binlog_transaction_compression_level_zstd`— Mengkonfigurasi tingkat kompresi zstd untuk transaksi log biner. Nilai yang lebih tinggi meningkatkan rasio kompresi, mengurangi kebutuhan penyimpanan lebih lanjut tetapi meningkatkan penggunaan CPU dan memori untuk kompresi. Nilai default adalah 3, dengan kisaran 1-22.

Parameter ini memungkinkan Anda menyempurnakan kompresi log biner berdasarkan karakteristik beban kerja dan ketersediaan sumber daya. Untuk informasi selengkapnya, lihat [Kompresi Transaksi Log Biner](https://dev.mysql.com/doc/refman/8.4/en/binary-log-transaction-compression.html) di dokumentasi MySQL.

Kompresi transaksi log biner memiliki manfaat utama sebagai berikut:
+ Kompresi mengurangi ukuran log biner, terutama untuk beban kerja dengan transaksi besar atau volume tulis tinggi.
+ Log biner yang lebih kecil mengurangi jaringan dan I/O overhead, meningkatkan kinerja replikasi.
+ `binlog_transaction_compression_level_zstd`Parameter memberikan kontrol atas trade-off antara rasio kompresi dan konsumsi sumber daya.

## Mengkonfigurasi kompresi transaksi log biner untuk cluster DB multi-AZ
<a name="USER_Binlog.MultiAZ.configuring"></a>

Untuk mengonfigurasi kompresi transaksi log biner untuk klaster DB RDS untuk MySQL Multi-AZ, ubah pengaturan parameter cluster yang relevan agar sesuai dengan persyaratan beban kerja Anda.

### Konsol
<a name="USER_Binlog.MultiAZ.configuring-console"></a>

**Untuk mengaktifkan kompresi transaksi log biner**

1. Ubah grup parameter cluster DB untuk mengatur `binlog_transaction_compression` parameter ke`1`.

1. (Opsional) Sesuaikan nilai `binlog_transaction_compression_level_zstd` parameter berdasarkan persyaratan beban kerja dan ketersediaan sumber daya Anda.

Untuk informasi selengkapnya, lihat [Memodifikasi parameter dalam grup parameter cluster DB Aurora](USER_WorkingWithParamGroups.ModifyingCluster.md).

### AWS CLI
<a name="USER_Binlog.MultiAZ.configuring-cli"></a>

Untuk mengkonfigurasi kompresi transaksi log biner menggunakan AWS CLI, gunakan perintah [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-cluster-parameter-group.html).

**Example**  
Untuk Linux, macOS, atau Unix:  

```
aws rds modify-db-cluster-parameter-group \
  --db-cluster-parameter-group-name your-cluster-parameter-group \
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```
Untuk Windows:  

```
aws rds modify-db-cluster-parameter-group ^
  --db-cluster-parameter-group-name your-cluster-parameter-group ^
  --parameters "ParameterName=binlog_transaction_compression,ParameterValue=1,ApplyMethod=pending-reboot"
```

### API RDS
<a name="USER_Binlog.MultiAZ.configuring-api"></a>

Untuk mengonfigurasi kompresi transaksi log biner menggunakan Amazon RDS API, gunakan [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBClusterParameterGroup.html)operasi.

# 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;
```