全部产品
Search
文档中心

PolarDB:Pemulihan database dan tabel: Memulihkan data ke titik waktu tertentu

更新时间:Nov 11, 2025

Anda dapat memulihkan data dari database atau tabel tertentu ke titik waktu apa pun dalam periode retensi log. Proses pemulihan ini menggunakan cadangan penuh (snapshot) dan log Redo berikutnya. Jika Anda mengetahui kapan operasi yang salah terjadi, Anda dapat menggunakan metode ini untuk memulihkan database atau tabel yang terpengaruh ke kondisinya sebelum operasi tersebut.

Prasyarat

Harus tersedia set cadangan. Pemulihan ke titik waktu tertentu pertama-tama memulihkan cadangan penuh yang dibuat sebelum titik waktu yang Anda pilih, lalu menerapkan data inkremental dari log Redo untuk memulihkan data ke titik waktu tersebut. Untuk mempercepat pemulihan, Anda dapat mengaktifkan cadangan tingkat lanjut, yang memperpendek siklus pencadangan dan meningkatkan kerapatan pencadangan.

Catatan penggunaan

  • Pemulihan ke titik waktu tertentu memulihkan database atau tabel ke titik waktu spesifik. Setelah pemulihan selesai, data dalam tabel identik dengan data pada titik waktu tersebut.

  • Anda hanya dapat memulihkan database dan tabel dari cadangan level-1. Anda tidak dapat memulihkan dari cadangan level-2.

  • Hanya tabel yang Anda pilih yang dipulihkan. Pastikan untuk memilih semua tabel yang perlu Anda pulihkan.

    Catatan

    Jika Anda tidak yakin tabel mana yang harus dipulihkan, lakukan pemulihan kluster penuh.

  • Anda dapat menggunakan fitur pemulihan database dan tabel meskipun kluster berisi lebih dari 50.000 tabel, termasuk tabel sistem.

  • Jika Anda memilih untuk memulihkan tabel tertentu alih-alih seluruh database, Anda dapat memulihkan hingga 100 tabel sekaligus. Jika Anda memilih untuk memulihkan seluruh database, semua tabel dalam database tersebut akan dipulihkan.

    Catatan

    Untuk memulihkan banyak tabel, lakukan pemulihan kluster penuh.

  • Fitur pemulihan database dan tabel tidak memulihkan pemicu (trigger).

  • Fitur pemulihan database dan tabel tidak memulihkan kunci asing (foreign keys).

  • Lakukan pemulihan data di luar jam sibuk.

Langkah 1: Periksa titik waktu ketika data dihapus atau dimodifikasi secara tidak sengaja

Jika Anda mengetahui kapan data dihapus atau dimodifikasi secara tidak sengaja, Anda dapat melewati langkah ini. Jika tidak, Anda dapat memilih salah satu metode berikut untuk memeriksanya.

Method 1: SQL Explorer

Jika fitur SQL Explorer dari PolarDB for MySQL Edisi Kluster diaktifkan, Anda dapat melihat log audit untuk menentukan titik waktu ketika data dihapus atau dimodifikasi secara tidak sengaja.

Catatan SQL Explorer adalah layanan berbayar. Anda dikenai biaya berdasarkan ruang penyimpanan yang digunakan oleh log audit sesuai dengan periode retensi log audit tersebut. Untuk informasi selengkapnya tentang SQL Explorer, lihat SQL Explorer.

Anda hanya dapat memeriksa log SQL yang dihasilkan setelah fitur SQL Explorer diaktifkan. Oleh karena itu, jika SQL Explorer tidak diaktifkan di kluster, gunakan Metode 2 untuk memeriksa titik waktu ketika data dihapus atau dimodifikasi secara tidak sengaja.

Method 2: Obtain and parse binary logs remotely

  1. Aktifkan fitur binary logging. Untuk informasi selengkapnya, lihat Mengaktifkan binary logging.
    Catatan Anda harus mengaktifkan binary logging pada kluster terlebih dahulu sebelum dapat melihat dan mendapatkan log biner. Jika tidak, pesan kesalahan You are not using binary logging akan ditampilkan.
  2. Instal MySQL di server lokal Anda dan hubungkan MySQL ke kluster melalui klien MySQL. Untuk informasi selengkapnya, lihat Menghubungkan ke kluster. Topik ini menggunakan sistem operasi Linux sebagai contoh.
    1
  3. Jalankan perintah berikut pada klien yang terhubung ke kluster untuk melihat log biner:
    show binary logs;
    Hasil berikut dikembalikan:
    +------------------+-----------+
    | Log_name         | File_size |
    +------------------+-----------+
    | mysql-bin.000005 |      2639 |
    +------------------+-----------+
    1 row in set (0.00 sec)
  4. Jalankan perintah berikut pada klien untuk mendapatkan log biner dan menyimpannya ke server lokal Anda.
    Topik ini menggunakan sistem operasi Linux sebagai contoh. Untuk mendapatkan log biner dan menyimpannya ke server lokal, jalankan perintah EXIT untuk keluar dari MySQL sebelum menjalankan perintah berikut.2Jalankan perintah berikut:
    mysqlbinlog -u <username> -p <password> -h <endpoint> --read-from-remote-server --raw mysql-bin.******
    ParameterDeskripsiContoh
    -uNama akun kluster Anda. test_api
    -pKata sandi akun Anda. Jika Anda tidak memasukkan kata sandi akun Anda, Anda akan diminta memasukkan kata sandi setelah menjalankan perintah di atas. TestPwd123
    -hTitik akhir publik kluster Anda.
    Catatan
    • Jika titik akhir kluster Anda menggunakan nomor port default 3306, Anda tidak perlu menentukan nomor port. Jika tidak, Anda harus menentukan nomor port setelah titik akhir.
    • Anda hanya dapat terhubung ke titik akhir yang menghadap publik dari titik akhir utama atau titik akhir kluster untuk mendapatkan log biner dari jarak jauh. Titik akhir kluster mencakup titik akhir kluster default dan titik akhir kluster kustom. Untuk informasi selengkapnya tentang cara mengajukan titik akhir publik, lihat Mengelola titik akhir kluster.
    test-polardb.rwlb.rds.aliyuncs.com
    --rawAnda dapat menentukan parameter ini untuk mencetak log biner dalam format aslinya. Data yang diurai tidak ditampilkan. --raw
    mysql-bin.******Nama log biner yang Anda peroleh dengan menjalankan perintah show binary logs;. Nama tersebut ditampilkan di bidang Log_name. mysql-bin.000005
    Contoh:
    mysqlbinlog -utest_api -p -htest-polardb.rwlb.rds.aliyuncs.com --read-from-remote-server --raw mysql-bin.000005
  5. Jalankan perintah berikut untuk melihat detail log biner menggunakan mysqlbinlog:
    mysqlbinlog -vv --base64-output=decode-rows mysql-bin.****** | more
    Catatan
    • -vv: memungkinkan Anda melihat pernyataan SQL dan keterangan.
    • --base64-output=decode-rows: memungkinkan Anda mengurai log biner.

    Gambar berikut menunjukkan detail log biner.

    3
  6. Setelah Anda mendapatkan file log biner, lihat mysqlbinlog-Utility for Processing Binary Log Files untuk mengurai log biner.

Langkah 2: Mulai pemulihan database dan tabel

  1. Masuk ke Konsol PolarDB. Di panel navigasi sebelah kiri, klik Clusters. Pilih wilayah tempat kluster berada, lalu klik ID kluster untuk membuka halaman detail kluster.

  2. Di panel navigasi sebelah kiri, pilih Settings and Management > Backup and Restoration. Klik Restore Databases/Tables.

  3. Pada kotak dialog yang muncul, atur Restoration Type menjadi Point in Time dan pilih titik waktu untuk Restoration Time.

    image

    Catatan
    • Titik waktu yang Anda pilih untuk Restoration Time harus berada dalam rentang Restore To. Untuk menggunakan fitur pemulihan Point in Time, set cadangan penuh yang paling dekat dengan titik waktu yang ditentukan harus berisi tabel yang akan dipulihkan. Rentang waktu yang dapat dipulihkan bergantung pada periode Log Retention Period (Days), yang secara default adalah 7 hari.

    • Fitur pemulihan database dan tabel menyediakan tiga konfigurasi berdasarkan konsumsi IOPS: Fast, Regular, dan Safe. Anda dapat memilih konfigurasi berdasarkan kebutuhan aktual Anda. Untuk perkiraan durasi pemulihan setiap konfigurasi, lihat Referensi data uji kecepatan pemulihan database dan tabel.

      • Fast: Mengonsumsi banyak IOPS (sekitar 60%). Pilih opsi ini di luar jam sibuk.

      • Regular (Direkomendasikan): Mengonsumsi IOPS sedang (sekitar 30%).

      • Safe: Mengonsumsi sedikit IOPS (sekitar 15%). Hal ini dapat memperlambat pemulihan secara signifikan.

  4. Di bagian Databases and Tables to Restore, pilih database sumber di sebelah kiri dan tabel sumber di sebelah kanan.

    1

    Catatan
    • Jika Anda tidak menentukan nama baru, sistem secara otomatis membuat nama dengan menambahkan akhiran _backup ke nama aslinya. Misalnya, jika tabel aslinya bernama test, tabel baru akan bernama test_backup.

    • Jika Anda memilih database tetapi tidak memilih tabel apa pun, semua tabel dalam database tersebut akan dipulihkan secara default.

  5. Setelah Anda mengonfirmasi database dan tabel yang dipilih, klik OK.

Langkah 3: Bandingkan dan verifikasi data

Setelah pemulihan database dan tabel selesai, masuk ke kluster Anda untuk membandingkan dan memverifikasi data.

Anda dapat masuk ke kluster menggunakan Data Management Service (DMS), klien lain, atau baris perintah. Topik ini menjelaskan cara masuk ke kluster menggunakan DMS untuk memverifikasi data. Untuk informasi tentang metode lainnya, lihat Menghubungkan ke kluster database.

  1. Di pojok kanan atas halaman Basic Information kluster, klik Log on to Database.

    基本信息

  2. Pada kotak dialog yang muncul, masukkan Database Account dan Database Password untuk kluster, lalu klik Log On.登录页面

  3. Setelah Anda masuk ke DMS, muat ulang halaman. Di panel navigasi sebelah kiri, klik Logged-in Instance.

  4. Di daftar Logged-in Instance, klik nama kluster target. Temukan dan klik ganda nama database target untuk mengelolanya.

    1

  5. Temukan data yang terpengaruh oleh operasi yang salah. Pastikan bahwa data telah dipulihkan ke kondisinya sebelum operasi tersebut dan bahwa data lainnya juga konsisten dengan kondisi sebelum operasi tersebut.