All Products
Search
Document Center

ApsaraDB RDS:Instans ApsaraDB RDS for MySQL terkunci karena file temporary memenuhi disk space-nya

Last Updated:Mar 29, 2026

Ketika instans ApsaraDB RDS for MySQL kehabisan penyimpanan akibat file temporary, instans tersebut secara otomatis masuk ke status Locked untuk mencegah kehilangan data. Dalam status ini, operasi tulis diblokir. Topik ini menjelaskan cara membuka kunci instans dan mencegah masalah ini terulang.

Mengapa file temporary menghabiskan penyimpanan

File temporary dihasilkan ketika MySQL mengeksekusi kueri yang melibatkan sorting (ORDER BY), grouping (GROUP BY), atau join tabel. File cache binary log (binlog) untuk transaksi besar juga mengonsumsi penyimpanan selama transaksi menunggu untuk dikomit.

Saat penyimpanan penuh, ApsaraDB RDS for MySQL akan mengunci instans secara otomatis.

Buka kunci instans

Opsi 1: Perluas kapasitas penyimpanan (disarankan)

Perluas kapasitas penyimpanan instans. Instans akan membuka kuncinya secara otomatis dalam waktu sekitar 5 menit setelah perluasan diterapkan.

Untuk petunjuk lebih lanjut, lihat Mengubah Spesifikasi Instans ApsaraDB RDS for MySQL.

Opsi 2: Bersihkan file temporary berdasarkan versi

Jika perluasan penyimpanan tidak memungkinkan, gunakan pendekatan yang sesuai dengan versi MySQL Anda:

  • MySQL 5.7 atau lebih lama: Restart instans. Lihat FAQ jika tombol Restart Instance berwarna pudar.

  • MySQL 8.0: Saat instans terkunci, semua session dihentikan secara otomatis dan transaksinya di-rollback. Penyimpanan akan dilepas setelah proses rollback selesai. Durasi rollback bergantung pada kueri yang dieksekusi oleh session dalam transaksi tersebut.

Opsi 3: Identifikasi dan hentikan session (jika masih terkunci)

Jika instans tetap terkunci setelah mencoba opsi di atas, gunakan Data Management (DMS) untuk mengidentifikasi dan menghentikan session yang mengonsumsi penyimpanan.

  1. Hubungkan ke instans menggunakan Data Management (DMS).

  2. Jalankan pernyataan berikut untuk menampilkan daftar session aktif:

    show processlist
  3. Urutkan hasil berdasarkan kolom State. Cari session dengan status "Copy to tmp table" atau "Sending data" di kolom State, lalu catat ID-nya.

    state

  4. Hentikan setiap session dengan menjalankan pernyataan berikut, ganti [$ID] dengan ID session:

    kill [$ID];
Peringatan

Sebelum menghentikan session, pastikan tindakan tersebut tidak akan memengaruhi layanan Anda.

Cegah instans terkunci lagi

Setelah instans dibuka kuncinya, lakukan langkah-langkah berikut untuk mencegah pengulangan masalah.

Aktifkan ekspansi penyimpanan otomatis

Konfigurasikan ekspansi penyimpanan otomatis agar sistem memperluas kapasitas saat penggunaan mencapai ambang batas tertentu. Untuk petunjuknya, lihat Configure automatic storage expansion for an ApsaraDB RDS for MySQL instance.

Kurangi pembuatan file temporary

  • Optimalkan kueri untuk menghindari penggunaan ORDER BY dan GROUP BY yang sering pada set data besar.

  • Gunakan EXPLAIN untuk memeriksa apakah kueri menggunakan tabel temporary internal. Cari teks "Using temporary" di bidang Extra:

    explain select * from alarm group by created_on order by default;

    Sample system output

  • Anda dapat meningkatkan nilai tmp_table_size dan max_heap_table_size sesuai kebutuhan bisnis, tetapi hal ini tidak disarankan. Utamakan ketersediaan memori daripada penghematan disk.

Kurangi penggunaan cache binlog

  • Pecah transaksi besar menjadi transaksi yang lebih kecil, dan hindari menjalankan transaksi besar secara paralel di beberapa koneksi.

  • Gunakan koneksi singkat untuk menjalankan transaksi besar; ini mengurangi jumlah penyimpanan yang terikat pada file cache binlog.

  • Anda dapat meningkatkan binlog_cache_size sesuai kebutuhan bisnis, tetapi kami menyarankan agar Anda tidak meningkatkan binlog_cache_size hanya untuk menghemat penyimpanan disk.

Monitor penggunaan disk

Pastikan penggunaan disk tetap di bawah 80%. Hapus data yang tidak diperlukan secara berkala, atau pecah set data besar ke beberapa instans. Atur notifikasi untuk mendeteksi penggunaan disk tinggi sebelum instans terkunci.

Langkah selanjutnya

Jika instans masih dalam status Locked setelah membersihkan file temporary, jenis file lain mungkin mengonsumsi penyimpanan. Lihat:

FAQ

Tombol Restart Instance berwarna pudar di halaman Basic Information. Bagaimana cara me-restart instans?

Picu restart dengan mengubah parameter yang memerlukan restart:

  1. Buka halaman Instances, pilih wilayah tempat instans berada, temukan instans tersebut, lalu klik ID-nya.

  2. Di panel navigasi sebelah kiri, klik Parameters.

  3. Di tab Editable Parameters, cari parameter apa pun yang memiliki nilai Yes di kolom Force Restart dan ubah nilainya untuk memicu restart.