All Products
Search
Document Center

ApsaraDB RDS:Gunakan fitur SQL Explorer dan Audit

Last Updated:Aug 19, 2026

SQL Explorer dan Audit menangkap setiap pernyataan SQL yang dieksekusi pada instans ApsaraDB RDS for MySQL Anda—termasuk akun, alamat IP sumber, dan detail eksekusi—lalu menyimpannya sebagai log audit. Gunakan data ini untuk:

  • Menyimpan jejak audit lengkap atas semua operasi Data Query Language (DQL), Data Manipulation Language (DML), dan Data Definition Language (DDL) demi kepatuhan keamanan

  • Menyelidiki masalah performa, sesi abnormal, dan status kesehatan SQL

  • Memulihkan data dengan memutar ulang pernyataan SQL yang terekam setelah terjadi kehilangan atau kerusakan data

Penting

SQL Explorer dan Audit mengambil data langsung dari kernel database menggunakan sejumlah kecil sumber daya CPU. Mengaktifkan dan menggunakan fitur ini memiliki dampak minimal terhadap performa instans.

Prasyarat

Sebelum memulai, pastikan Anda telah:

Jika Pengguna RAM perlu menggunakan fitur SQL statement search, sambungkan kebijakan AliyunRDSReadOnlyWithSQLLogArchiveAccess ke Pengguna RAM tersebut. Untuk detailnya, lihat Gunakan RAM untuk mengelola izin ApsaraDB RDS atau berikan izin menggunakan kebijakan kustom yang mencakup fitur pencarian dan ekspor.

Di Konsol ApsaraDB RDS, hanya fitur SQL Explorer dan Audit yang disediakan oleh versi terbaru DAS Enterprise Edition yang didukung di wilayah saat ini yang dapat diaktifkan.

Wilayah yang didukung

China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu), China (Hong Kong), Singapura, Jepang (Tokyo), Malaysia (Kuala Lumpur), Indonesia (Jakarta), AS (Silicon Valley), Inggris (London), AS (Virginia), Jerman (Frankfurt)

Kemampuan

Kemampuan

Deskripsi

Search (audit)

Kueri dan ekspor catatan eksekusi pernyataan SQL — termasuk database, status, dan waktu eksekusi

SQL Explorer

Mendiagnosis kesehatan SQL, troubleshooting masalah performa, dan menganalisis trafik bisnis

Security audit

Mengidentifikasi risiko: pernyataan SQL berisiko tinggi, serangan injeksi SQL, dan sumber akses baru

Traffic playback and stress testing

Memutar ulang trafik nyata untuk memverifikasi apakah instans Anda perlu diskalakan

SQL analysis

Menganalisis pernyataan SQL dalam rentang waktu tertentu untuk mengungkap kueri abnormal dan menemukan bottleneck performa

Fitur ini cocok untuk:

  • Sektor yang memerlukan keamanan data tinggi, seperti keuangan, keamanan, saham, layanan publik, dan asuransi

  • Troubleshooting, analisis performa SQL, dan identifikasi sesi abnormal

  • Pemulihan kehilangan atau kerusakan data menggunakan pernyataan SQL yang direkam oleh fitur ini

Penagihan

Penagihan bergantung pada kapan dan bagaimana Anda mengaktifkan fitur ini.

Jika Anda mengaktifkan fitur SQL Explorer asli sebelum ditingkatkan menjadi SQL Explorer dan Audit, biayanya termasuk dalam tagihan ApsaraDB RDS Anda. Harga didasarkan pada wilayah instans dan ditagih per GB-jam:

Laju

Wilayah

USD 0,0012/GB-jam

China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Ulanqab), China (Shenzhen), China (Heyuan), China (Guangzhou), China (Chengdu)

USD 0,0015/GB-jam

China (Hong Kong), AS (Silicon Valley), AS (Virginia)

USD 0,0018/GB-jam

Singapura, Jepang (Tokyo), Jerman (Frankfurt), UEA (Dubai), Malaysia (Kuala Lumpur), Indonesia (Jakarta), Inggris (London)

Untuk meningkatkan dari SQL Explorer ke SQL Explorer dan Audit: login ke Konsol ApsaraDB RDS, buka tab SQL Explorer, lalu klik One click upgrade di kotak dialog. Setelah peningkatan, penagihan dialihkan ke tagihan DAS Anda.

Jika SQL Explorer dan Audit diaktifkan setelah peningkatan, biayanya termasuk dalam tagihan DAS Anda. Wilayah yang didukung dan laju bervariasi tergantung versi DAS Enterprise Edition. Untuk detailnya, lihat Edisi DAS dan fitur yang didukung serta Penagihan.

Batasan

Batasan kueri online

  • Rentang Waktu: Setiap kueri mencakup jendela maksimal 24 jam. Untuk mengkueri catatan yang mencakup lebih dari 24 jam, gunakan Simple Log Service (SLS) untuk mengakses log SQL Explorer. Untuk detailnya, lihat Kumpulkan log audit SQL RDS.

  • Metode kueri: Gabungkan beberapa kondisi filter. Pencocokan fuzzy tidak didukung. Setiap kata kunci harus terdiri dari minimal empat karakter.

Batasan SQL Explorer dan Audit

  • Lokasi penyimpanan: Log audit disimpan secara terpisah oleh Database Autonomy Service (DAS) dan tidak mengonsumsi disk space lokal instans RDS Anda. Mengaktifkan SQL Explorer dan Audit tidak meningkatkan penggunaan disk instans Anda.

  • Catatan login: ApsaraDB RDS for MySQL tidak merekam event login secara default. Event login hanya direkam setelah Anda mengaktifkan SQL Explorer and Audit, setelah itu Anda dapat melacak catatan login menggunakan tipe operasi LOGIN. Login yang terjadi sebelum Anda mengaktifkan fitur ini tidak disimpan dan tidak dapat diambil kembali.

  • Panjang maksimum pernyataan SQL: Maksimal 8.192 byte. Batas ini dikontrol oleh parameter loose_rds_audit_max_sql_size (MySQL 5.6 dan 5.7) atau loose_rds_audit_log_event_buffer_size (MySQL 8.0)—nilai terkecil di antara ketiga parameter tersebut yang berlaku. Karena awalan ditambahkan selama pengumpulan data, batas efektif sedikit di bawah 8.192 byte atau nilai yang Anda konfigurasi.

  • Kueri berdasarkan ID transaksi: Atur parameter loose_rds_audit_log_version ke MYSQL_V3, dan pastikan versi mesin minor memenuhi persyaratan: MySQL 8.0 memerlukan versi 20210930 atau lebih baru; MySQL 5.7 memerlukan versi 20210630 atau lebih baru. Untuk detailnya, lihat Parameter yang didukung oleh instans ApsaraDB RDS yang menjalankan MySQL 8.0 dan Peningkatan versi mesin minor.

  • SQL Explorer Trial Edition: Operasi API DescribeSQLLogRecords dan DescribeSQLLogFiles tidak tersedia. Untuk detailnya, lihat DescribeSQLLogRecords dan DescribeSQLLogFiles.

  • Waktu tunggu lock: Direkam dalam log SQL Explorer tetapi tidak dalam log kueri lambat.

  • Metode Prepare: SQL Explorer mencatat dua pernyataan untuk setiap prepared statement—satu dengan placeholder tanda tanya (?) dan satu dengan nilai aktual.

Pertimbangan lainnya

  • Proksi database dengan kolam koneksi tingkat transaksi: Saat kolam koneksi tingkat transaksi diaktifkan, koneksi mungkin digunakan ulang. Alamat IP dan port dalam log SQL Explorer mungkin berbeda dari yang dikembalikan oleh SHOW PROCESSLIST. Untuk detailnya, lihat Apa itu proksi database?

  • Instans terlampir PolarDB-X 1.0: Pernyataan SQL yang dieksekusi pada instans RDS yang terlampir ke PolarDB-X 1.0 menghasilkan beberapa entri log SQL Explorer karena sharding horizontal.

Aktifkan SQL Explorer dan Audit

Mengaktifkan fitur pengumpulan log audit untuk instans RDS Anda di aplikasi CloudLens for RDS dari Simple Log Service secara otomatis mengaktifkan SQL Explorer dan Audit. Untuk detailnya, lihat CloudLens for RDS.
Jika SQL Explorer dan Audit dinonaktifkan dan Anda perlu melihat catatan eksekusi SQL, periksa log biner. Log biner hanya berisi operasi tambah, hapus, dan ubah dalam periode retensi backup—alamat IP sumber dan akun tidak tersedia. Untuk detailnya, lihat Kelola file log biner.
  1. Buka halaman Instances. Di bilah navigasi atas, pilih wilayah tempat instans RDS berada. Temukan instans tersebut dan klik ID-nya.

  2. Di panel navigasi kiri, pilih Autonomy Services > SQL Explorer and Audit.

  3. Klik Enable DAS Enterprise Edition V3.image

  4. Pilih sub-fitur yang akan diaktifkan lalu klik Submit.

Ubah durasi penyimpanan

Peringatan

Mengurangi durasi penyimpanan akan segera menghapus log audit yang disimpan lebih lama dari durasi baru. Ekspor dan simpan log Anda sebelum mengurangi durasi penyimpanan.

  1. Buka halaman Instances. Pilih wilayah, temukan instans, lalu klik ID-nya.

  2. Di panel navigasi kiri, pilih Autonomy Services > SQL Explorer and Audit.

  3. Klik Service Settings.

  4. Di panel Service Settings, ubah durasi penyimpanan lalu klik Submit.

Nonaktifkan SQL Explorer dan Audit

Peringatan

Menonaktifkan SQL Explorer dan Audit akan menghapus permanen semua log audit. Ekspor log Anda sebelum menonaktifkan fitur ini. Jika Anda mengaktifkan kembali fitur ini nanti, log akan direkam mulai dari titik pengaktifan ulang—log sebelumnya tidak dipulihkan.

  1. Buka halaman Instances. Pilih wilayah, temukan instans, lalu klik ID-nya.

  2. Di panel navigasi kiri, pilih Autonomy Services > SQL Explorer and Audit.

  3. Di bagian Logs pada tab Search, klik Export.

    Setiap ekspor mencakup maksimal 10 juta catatan dalam jendela 7 hari. Gunakan parameter Export Time Range untuk mengekspor log dalam rentang waktu yang lebih luas.
  4. Di kotak dialog, konfigurasikan Exported Fields dan Export Time Range, lalu klik OK.

  5. Unduh file log yang diekspor dan simpan secara lokal.

  6. Klik Service Settings dan nonaktifkan fitur ini. Jika DAS Enterprise V3 diaktifkan, kosongkan semua fitur dalam modul SQL Explorer dan Audit lalu klik Submit.

    Ruang penyimpanan yang ditempati oleh data SQL Explorer dan Audit dilepaskan satu jam setelah fitur dinonaktifkan.

Migrasi data antar versi DAS Enterprise Edition

Peringatan

Migrasi data tidak dapat dihentikan atau dikembalikan. Baca instruksi migrasi dengan cermat sebelum melanjutkan.

Jika instans RDS Anda mendukung DAS Enterprise Edition V3, migrasikan data dari V1 atau V2 ke V3 untuk mengurangi biaya. Untuk langkah-langkah migrasi, lihat Bagaimana cara migrasi data antar versi DAS Enterprise Edition?

Setiap versi menggunakan arsitektur penyimpanan yang berbeda:

  • V1: Arsitektur penyimpanan asli

  • V2: Penyimpanan hibrida data panas dan dingin—performa lebih tinggi dengan biaya lebih rendah dibanding V1

  • V3: Penyimpanan hibrida data panas dan dingin dengan penagihan per fitur—lebih fleksibel dibanding V2

FAQ

Apa arti pernyataan `logout!` dalam Statistik Permintaan Lengkap?

logout! menandai event pemutusan koneksi. Durasi eksekusi yang ditampilkan adalah waktu idle antara interaksi terakhir dan pemutusan koneksi. Kode status 1158 berarti pemutusan jaringan, yang dapat terjadi karena:

  • Koneksi klien timeout

  • Server memutus koneksi

  • Koneksi melebihi nilai interactive_timeout atau wait_timeout

Mengapa tanda persen (%) muncul di kolom Access Source pada tab Source Statistics?

Tanda % di kolom Access Source muncul ketika prosedur tersimpan terlibat. Hal ini terjadi karena prosedur tersimpan didefinisikan dengan DEFINER yang mencakup % sebagai host—misalnya, ` CREATE DEFINER=test_user@% PROCEDURE das() `.

Untuk mereproduksi perilaku ini:

  1. Di Konsol ApsaraDB RDS, buat database dan akun standar, lalu berikan izin pada database tersebut ke akun tersebut. Untuk detailnya, lihat Buat akun dan database.

  2. Hubungkan ke instans menggunakan akun test_user melalui CLI. Untuk detailnya, lihat Gunakan klien database atau CLI untuk menghubungkan ke instans ApsaraDB RDS for MySQL.

  3. Beralih ke database testdb dan buat prosedur tersimpan:

    -- Beralih ke testdb
    USE testdb;
    
    -- Buat prosedur tersimpan
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Hubungkan ke instans menggunakan akun istimewa. Untuk detailnya, lihat Gunakan klien database atau CLI untuk menghubungkan ke instans ApsaraDB RDS for MySQL.

  5. Panggil prosedur tersimpan:

    -- Beralih ke testdb
    USE testdb;
    
    -- Panggil prosedur tersimpan
    CALL das();

    Output yang diharapkan:

    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

Setelah menjalankan kueri yang mengembalikan hasil, bagian Logs menunjukkan nol baris yang dipindai. Mengapa?

Fitur fast query cache diaktifkan. Ketika kueri yang sama mengenai cache, MySQL langsung mengembalikan hasil dari cache tanpa memindai InnoDB—sehingga jumlah baris yang dipindai adalah nol. Untuk detailnya, lihat Fast query cache.

Apa perbedaan antara log SQL Explorer dan log biner?

Kedua jenis log ini menangkap perubahan inkremental pada instans RDS Anda, tetapi berbeda dalam cakupan dan kasus penggunaan:

Log SQL Explorer

Log biner

Cakupan

Semua operasi DQL, DML, dan DDL

Hanya operasi tambah, hapus, dan ubah

Kelengkapan

Sejumlah kecil catatan mungkin hilang di bawah beban berat

Akurat dalam periode retensi backup

Ketersediaan

Real-time

Tidak dihasilkan secara real-time; secara berkala ditransfer ke Object Storage Service (OSS), disimpan selama 7 hari

Termasuk IP sumber dan akun

Ya

Tidak

Paling cocok untuk

Audit kepatuhan, troubleshooting, analisis aktivitas lengkap

Pemulihan data menggunakan data inkremental yang akurat

File log biner yang sedang ditulis saat ini tidak dapat ditransfer ke OSS. Akibatnya, beberapa file mungkin gagal diunggah saat menggunakan fitur Upload Binlogs. Untuk detailnya, lihat Bagaimana cara memperoleh dan mengurai file log biner instans ApsaraDB RDS for MySQL secara jarak jauh?

Titik masuk SQL Explorer telah hilang dari konsol. Mengapa?

SQL Explorer dan Audit adalah versi pembaruan dari SQL Explorer. Titik masuknya sekarang diberi label SQL Explorer and Audit.

Apakah saya dapat mengaktifkan fitur SQL Explorer asli?

Tidak. Hanya versi terbaru SQL Explorer dan Audit yang dapat diaktifkan pada instans RDS.

Apakah catatan audit SQL dihapus dari sistem setelah saya mengekspornya?

Tidak. Mengekspor catatan audit tidak menghapusnya dari sistem.

Apakah SQL Explorer dan Audit mendukung konfigurasi peringatan di tingkat akun database, misalnya, mengecualikan akun tertentu dari pemberitahuan peringatan?

Tidak. Pengaturan peringatan dan audit untuk SQL Explorer dan Audit berlaku di tingkat instans dan tidak dapat dibedakan untuk masing-masing akun database. Misalnya, Anda tidak dapat mengonfigurasi "pengguna A tidak menerima peringatan" atau "audit hanya operasi pengguna B". Untuk mengelola pemberitahuan peringatan per pengguna, filter di lapisan aplikasi Anda atau gunakan kebijakan notifikasi Cloud Monitor.

Bagaimana cara menggunakan log audit untuk melacak sumber penghapusan data?

Jika data tabel dihapus secara tidak sengaja atau jahat, Anda dapat menggunakan SQL Explorer dan Audit untuk mengidentifikasi akun dan alamat IP yang melakukan penghapusan:

  1. Login ke Konsol ApsaraDB RDS. Temukan instans dan klik ID-nya.

  2. Di panel navigasi kiri, pilih Autonomy Services > SQL Explorer and Audit.

  3. Di tab Audit, di bagian Logs, atur rentang waktu untuk mencakup periode saat penghapusan terjadi, dan opsional filter berdasarkan nama database.

  4. Masukkan DELETE di kotak pencarian kata kunci SQL lalu klik ikon pencarian.

  5. Di hasilnya, temukan catatan operasi DELETE lalu klik untuk melihat detailnya, termasuk nama akun dan alamat IP klien.

Catatan

Alamat IP (HostAddress) yang direkam dalam log audit mungkin merupakan alamat IP proksi RDS, bukan alamat IP klien sebenarnya. Untuk memastikan sumber sebenarnya dari operasi tersebut, cross-reference konfigurasi jaringan VPC Anda atau periksa log koneksi di sisi klien.

Bagaimana cara menggabungkan field log error untuk memfilter catatan audit?

Field dari log error, seperti nama database dan alamat IP klien, dapat digunakan sebagai kondisi filter di SQL Explorer dan Audit untuk menemukan koneksi abnormal. Prosedur:

  1. Login ke Konsol ApsaraDB RDS dan buka halaman detail instans. Di panel navigasi kiri, pilih Autonomy Services > SQL Explorer and Audit.

  2. Di tab Audit, klik Enable Advanced Query untuk memperluas kondisi filter lanjutan.

  3. Di field Database, masukkan nama database, misalnya battery.

  4. Di field Client IP, masukkan host dari log error, misalnya 172.25.244.207.

  5. Atur Time Range untuk mencakup periode saat koneksi abnormal terjadi.

  6. Klik Query untuk menjalankan kueri filter gabungan.

Catatan

Kondisi filter Client IP hanya ditampilkan setelah Anda mengklik Enable Advanced Query. Secara default, hanya kondisi filter rentang waktu, kata kunci, pengguna, database, dan tipe operasi yang ditampilkan.

Bagaimana cara mengkueri riwayat login instans?

Anda dapat memfilter hasil Search (audit) berdasarkan tipe operasi. Di halaman SQL Explorer and Audit, buka tab Search dan atur filter Operation type ke LOGIN untuk mengkueri riwayat login instans. Daftar hasil mencakup kolom User (akun login) dan Client IP, yang membantu Anda mengidentifikasi siapa yang login dan dari mana.

Apa yang harus saya lakukan jika tidak dapat menemukan pernyataan SQL yang mengubah status baris tertentu?

SQL Explorer and Audit mencatat operasi di tingkat pernyataan SQL dan tidak menyediakan perbandingan nilai sebelum dan sesudah di tingkat field. Untuk melihat nilai field tertentu, seperti status, sebelum dan sesudah perubahan, gunakan fitur pelacakan data dari Data Management (DMS) untuk menemukan sumber perubahan tersebut.