mysqldump dan mysqlpump - AWS Panduan Preskriptif

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

mysqldump dan mysqlpump

mysqldump dan mysqlpump adalah alat cadangan database asli untuk MySQL. MariaDB mendukung mysqldump tetapi tidak mendukung mysqlpump. Kedua alat ini membuat backup logis dan merupakan bagian dari program klien MySQL. mysqldump mendukung pemrosesan single-threaded. mysqlpump mendukung pemrosesan paralel database dan objek dalam database, untuk mempercepat proses dump. Itu diperkenalkan di MySQL server versi 5.7.8.

Diagram berikut menunjukkan langkah-langkah tingkat tinggi yang terlibat dalam migrasi database dengan menggunakan file cadangan mysqldump atau mysqlpump.

Diagram migrasi file cadangan mysqldump atau mysqlpump dan memulihkannya pada instance DB. AWS

Berikut ini adalah langkah-langkah untuk menggunakan mysqldump atau mysqlpump untuk memigrasikan database ke: AWS Cloud

  1. Instal MySQL Shell di server lokal. Untuk petunjuk, lihat Menginstal MySQL Shell dalam dokumentasi MySQL. Ini menginstal mysqldump dan mysqlpump.

  2. Menggunakan mysqldump atau mysqlpump, buat cadangan sumber, database lokal. Untuk petunjuk, lihat mysqldump dan mysqlpumpdi dokumentasi MySQL, atau lihat Membuat Backup dengan mysqldump dalam dokumentasi MariaDB. Untuk informasi selengkapnya tentang menjalankan program MySQL dan menentukan opsi, lihat Menggunakan program MySQL.

  3. Pindahkan file cadangan ke instans EC2 AWS Cloud dengan menggunakan salah satu pendekatan berikut:

    Pendekatan 3A — Pasang sistem file Amazon FSx atau Amazon Elastic File System (Amazon EFS) ke server lokal yang menjalankan instance database Anda. Anda dapat menggunakan AWS Direct Connect atau AWS VPN membuat koneksi. Anda dapat langsung mencadangkan database ke berbagi file yang dipasang, atau Anda dapat melakukan pencadangan dalam dua langkah dengan mencadangkan database ke sistem file lokal dan kemudian mengunggahnya ke volume FSx atau EFS yang dipasang. Selanjutnya, pasang sistem file Amazon FSx atau Amazon EFS, yang juga dipasang di server lokal, pada instans EC2.

    Pendekatan 3B — Gunakan AWS CLI, AWS SDK, atau Amazon S3 REST API untuk langsung memindahkan file cadangan dari server lokal ke bucket S3. Jika bucket S3 target berada di tempat Wilayah AWS yang jauh dari pusat data, Anda dapat menggunakan Amazon S3 Transfer Acceleration untuk mentransfer file lebih cepat. Gunakan sistem file s3fs-fuse untuk memasang bucket S3 pada instans EC2.

    Pendekatan 3C — Instal AWS DataSync agen di pusat data lokal, lalu gunakan AWS DataSyncuntuk memindahkan file cadangan ke bucket Amazon S3. Gunakan sistem file s3fs-fuse untuk memasang bucket S3 pada instans EC2.

    catatan

    Anda juga dapat menggunakan Amazon S3 File Gateway untuk mentransfer file cadangan database besar ke bucket S3 di file. AWS Cloud Untuk informasi selengkapnya, lihat Menggunakan Amazon S3 File Gateway untuk mentransfer file cadangan dalam panduan ini.

  4. Gunakan metode pemulihan asli untuk memulihkan cadangan pada database target. Untuk petunjuknya, lihat Memuat Ulang Pencadangan Format SQL dalam dokumentasi MySQL, atau lihat Memulihkan Data dari File Dump dalam dokumentasi MariaDB.

  5. (Opsional) Anda dapat mengatur replikasi antara database sumber dan instance database target. Anda dapat menggunakan replikasi log biner (binlog) untuk mengurangi waktu henti. Untuk informasi selengkapnya, lihat berikut ini:

Keuntungan

  • mysqldump dan mysqlpump termasuk dalam instalasi MySQL Server

  • File cadangan yang dihasilkan oleh alat-alat ini dalam format yang lebih mudah dibaca.

  • Sebelum memulihkan file cadangan, Anda dapat memodifikasi file.sql yang dihasilkan dengan menggunakan editor teks standar.

  • Anda dapat membuat cadangan tabel, database, atau bahkan pemilihan data tertentu.

  • mysqldump dan mysqlpump adalah arsitektur mesin independen.

Batasan

  • mysqldump adalah proses pencadangan single-threaded. Kinerja untuk mengambil cadangan baik untuk database kecil, tetapi bisa menjadi tidak efisien ketika ukuran cadangan lebih besar dari 10 GB.

  • Backup file dalam format logis sangat banyak, terutama ketika disimpan sebagai teks, dan sering lambat untuk membuat dan memulihkan.

  • Pemulihan data bisa lambat karena menerapkan kembali pernyataan SQL dalam instans DB target melibatkan disk I/O intensif dan pemrosesan CPU untuk penyisipan, pembuatan indeks, dan penegakan batasan integritas referensial.

  • Utilitas mysqlpump tidak didukung untuk versi MySQL lebih awal dari 5.7.8.

  • Secara default, mysqlpump tidak mengambil cadangan dari database sistem, seperti atau. performance_schema sys Untuk membuat cadangan bagian dari database sistem, beri nama secara eksplisit di baris perintah.

  • mysqldump tidak mencadangkan pernyataan InnoDB. CREATE TABLESPACE

Catatan: Cadangan pernyataan CREATE TABLESPACE dan database sistem hanya berguna ketika Anda memulihkan cadangan database MySQL atau MariaDB ke instance EC2. Cadangan ini tidak digunakan untuk Amazon RDS atau Aurora.

Praktik terbaik

  • Ketika Anda memulihkan cadangan database, nonaktifkan pemeriksaan kunci, sepertiFOREIGN_KEY_CHECKS, pada tingkat sesi dalam database target. Ini meningkatkan kecepatan restorasi.

  • Pastikan pengguna database memiliki hak istimewa yang cukup untuk membuat dan memulihkan cadangan.