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 My. SQL MariaDB mendukung mysqldump tetapi tidak mendukung mysqlpump. Kedua alat ini membuat cadangan logis dan merupakan bagian dari program SQL klien saya. mysqldump mendukung pemrosesan single-threaded. mysqlpump mendukung pemrosesan paralel database dan objek dalam database, untuk mempercepat proses dump. Itu diperkenalkan di SQL versi Saya 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 SQL Shell Saya di server lokal. Untuk petunjuk, lihat Menginstal SQL Shell Saya di SQL dokumentasi Saya. Ini menginstal mysqldump dan mysqlpump.

  2. Menggunakan mysqldump atau mysqlpump, buat cadangan sumber, database lokal. Untuk petunjuk, lihat mysqldump dan mysqlpump di dokumentasi Saya, atau lihat Membuat Cadangan dengan mysqldump di SQL dokumentasi MariaDB. Untuk informasi selengkapnya tentang menjalankan SQL program Saya dan menentukan opsi, lihat Menggunakan program Saya SQL.

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

    Pendekatan 3A — Pasang sistem file Amazon Elastic File System (AmazonEFS) Amazon FSx atau Amazon 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 mount FSx atau EFS volume. Selanjutnya, pasang sistem EFS file Amazon FSx atau Amazon, yang juga dipasang di server lokal, pada sebuah EC2 instance.

    Pendekatan 3B — Gunakan Amazon S3 AWS CLI AWS SDK, atau Amazon REST API S3 untuk langsung memindahkan file cadangan dari server lokal ke bucket S3. Jika bucket S3 target berada jauh dari pusat data, Anda dapat menggunakan Amazon S3 Transfer Acceleration untuk mentransfer file lebih cepat. Wilayah AWS Gunakan sistem file s3fs-fuse untuk memasang bucket S3 pada instance. 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 instance. 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 petunjuk, lihat Memuat Ulang SQL -Format Cadangan dalam SQL dokumentasi Saya, 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 disertakan dalam instalasi My Server SQL

  • 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 SQL pernyataan dalam instans DB target melibatkan I/O disk intensif dan CPU pemrosesan untuk penyisipan, pembuatan indeks, dan penegakan batasan integritas referensial.

  • Utilitas mysqlpump tidak didukung untuk SQL versi Saya 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

Pencadangan CREATE TABLESPACE pernyataan dan database sistem hanya berguna ketika Anda memulihkan cadangan database Saya atau SQL MariaDB ke sebuah instance. EC2 Cadangan ini tidak digunakan untuk Amazon atau RDS 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.