Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemecahan masalah untuk peningkatan di tempat Aurora MySQL
Gunakan tips berikut untuk membantu memecahkan masalah terkait peningkatan di tempat Aurora MySQL. Tips ini tidak berlaku untuk klaster DB Aurora Serverless.
| Alasan peningkatan di tempat dibatalkan atau lambat | Efek | Solusi untuk memungkinkan peningkatan di tempat selesai dalam periode pemeliharaan |
|---|---|---|
| Replika Lintas wilayah Aurora Terkait belum ditambal | Aurora membatalkan peningkatan. | Tingkatkan replika Aurora Cross-region dan coba lagi. |
| Klaster memiliki transaksi XA dalam status siap | Aurora membatalkan peningkatan. | Komit atau kembalikan semua transaksi XA yang disiapkan. |
| Klaster sedang memproses pernyataan bahasa definisi data (DDL) | Aurora membatalkan peningkatan. | Pertimbangkan untuk menunggu dan melakukan peningkatan setelah semua pernyataan DDL selesai. |
| Klaster memiliki perubahan yang tidak dikomit untuk banyak baris | Peningkatan mungkin memerlukan waktu lama. |
Proses peningkatan mengembalikan perubahan yang tidak dikomit. Indikator untuk kondisi ini adalah nilai Pertimbangkan untuk melakukan peningkatan hanya setelah semua transaksi besar dilakukan atau dikembalikan. |
| Klaster memiliki jumlah catatan undo yang tinggi | Peningkatan mungkin memerlukan waktu lama. |
Bahkan jika transaksi yang tidak dikomit tidak memengaruhi sejumlah besar baris, transaksi ini mungkin berkaitan dengan volume besar data. Misalnya, Anda mungkin memasukkan besar BLOBs. Aurora tidak akan secara otomatis mendeteksi atau menghasilkan peristiwa untuk jenis aktivitas transaksi ini. Indikator untuk kondisi ini adalah panjang daftar riwayat (HLL). Proses peningkatan mengembalikan perubahan yang tidak dikomit. Anda dapat memeriksa HLL dalam output dari perintah SQL
Anda juga dapat memantau Pertimbangkan untuk melakukan peningkatan hanya setelah HLL menjadi lebih kecil. |
| Klaster sedang dalam proses melakukan komit transaksi log biner besar | Peningkatan mungkin memerlukan waktu lama. |
Proses peningkatan menunggu sampai perubahan log biner diterapkan. Transaksi atau pernyataan DDL lainnya dapat dimulai selama periode ini, sehingga akan makin memperlambat proses peningkatan. Jadwalkan proses peningkatan saat klaster tidak sibuk menghasilkan perubahan replikasi log biner. Aurora tidak akan secara otomatis mendeteksi atau membuat peristiwa untuk kondisi ini. |
| Inkonsistensi skema yang dihasilkan dari penghapusan atau kerusakan file | Aurora membatalkan peningkatan. |
Ubah mesin penyimpanan default untuk tabel sementara dari MyISAM menjadi InnoDB. Lakukan langkah-langkah berikut ini:
|
| Pengguna master dihapus | Aurora membatalkan peningkatan. |
pentingJangan hapus pengguna master. Namun, jika karena alasan tertentu Anda kebetulan menghapus pengguna master, kembalikan pengguna master menggunakan perintah SQL berikut:
|
Untuk detail selengkapnya tentang masalah pemecahan masalah yang menyebabkan precheck upgrade gagal, lihat blog berikut:
Anda dapat menggunakan langkah-langkah berikut untuk melakukan pemeriksaan Anda sendiri untuk beberapa kondisi di tabel sebelumnya. Dengan demikian, Anda dapat menjadwalkan peningkatan pada saat Anda mengetahui basis data dalam keadaan yang memungkinkan peningkatan berhasil diselesaikan dengan cepat.
-
Anda dapat memeriksa transaksi XA terbuka dengan menjalankan pernyataan
XA RECOVER. Anda kemudian dapat meng-commit atau mengembalikan transaksi XA sebelum memulai peningkatan. -
Anda dapat memeriksa pernyataan DDL dengan menjalankan pernyataan
SHOW PROCESSLISTdan mencari pernyataanCREATE,DROP,ALTER,RENAME, danTRUNCATEdalam output. Tunggu semua pernyataan DDL selesai sebelum memulai peningkatan. -
Anda dapat memeriksa jumlah total baris yang tidak dikomit dengan mengueri tabel
INFORMATION_SCHEMA.INNODB_TRX. Tabel ini berisi satu baris untuk setiap transaksi. KolomTRX_ROWS_MODIFIEDberisi jumlah baris yang diubah atau dimasukkan oleh transaksi. -
Anda dapat memeriksa panjang daftar riwayat InnoDB dengan menjalankan pernyataan
SHOW ENGINE INNODB STATUS SQLdan mencariHistory list lengthdalam output. Anda juga dapat memeriksa nilai secara langsung dengan menjalankan kueri berikut:SELECT count FROM information_schema.innodb_metrics WHERE name = 'trx_rseg_history_len';Panjang daftar riwayat sesuai dengan jumlah informasi undo yang disimpan oleh basis data untuk menerapkan kontrol konkurensi multiversi (MVCC).