Migrasikan database MariaDB Anda ke database Azure Database for MariaDB dengan menggunakan pencadangan and pemulihan

Penting

Azure Database for MariaDB berada di jalur penghentian. Kami sangat menyarankan Anda bermigrasi ke Azure Database for MySQL. Untuk informasi selengkapnya tentang migrasi ke Azure Database for MySQL, lihat Apa yang terjadi pada Azure Database for MariaDB?.

Artikel ini menjelaskan dua cara umum untuk mencadangkan dan memulihkan database di Azure Database for MariaDB Anda:

  • Cadangkan dan pulihkan dengan menggunakan alat baris perintah (menggunakan mysqldump).
  • Cadangkan dan pulihkan menggunakan phpMyAdmin.

Prasyarat

Sebelum Anda mulai memigrasikan database Anda, lakukan hal berikut ini:

Menggunakan alat umum

Gunakan utilitas dan alat umum seperti MySQL Workbench atau mysqldump untuk menyambungkan dan memulihkan data dari jarak jauh ke Azure Database for MariaDB Anda. Gunakan alat ini di mesin klien Anda dengan koneksi internet untuk menyambungkan ke Azure Database for MariaDB. Gunakan koneksi terenkripsi SSL sebagai praktik keamanan terbaik. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi konektivitas SSL di Azure Database for MariaDB. Anda tidak perlu memindahkan file cadangan ke lokasi cloud khusus saat Anda melakukan migrasi data ke database Azure for MariaDB.

Penggunaan umum untuk pencadangan dan pemulihan

Anda dapat menggunakan utilitas MySQL seperti mysqldump dan mysqlpump untuk mencadangkan dan memuat database ke server Azure Database for MariaDB dalam beberapa skenario umum.

  • Gunakan pencadangan database saat Anda memigrasikan seluruh database. Rekomendasi ini berlaku saat Anda memindahkan sejumlah besar data atau saat Anda ingin meminimalkan gangguan layanan untuk situs atau aplikasi langsung.

  • Pastikan semua tabel dalam database menggunakan mesin penyimpanan InnoDB saat memuat data ke Azure Database for MariaDB. Azure Database for MariaDB hanya mendukung mesin penyimpanan InnoDB dan tidak mendukung mesin penyimpanan lainnya. Jika tabel Anda dikonfigurasi dengan mesin penyimpanan lain, konversikan tabel tersebut ke format mesin InnoDB sebelum Anda memigrasikannya ke Azure Database for MariaDB.

    Misalnya, jika Anda memiliki aplikasi WordPress atau aplikasi web yang menggunakan tabel MyISAM, pertama-tama konversi tabel tersebut dengan memigrasikannya ke format InnoDB sebelum Anda memulihkannya ke Azure Database for MariaDB Anda. Gunakan klausa ENGINE=InnoDB untuk mengatur mesin yang akan digunakan untuk membuat tabel baru, lalu transfer data ke tabel yang kompatibel sebelum Anda memulihkannya.

    INSERT INTO innodb_table SELECT * FROM myisam_table ORDER BY primary_key_columns
    
  • Untuk menghindari masalah kompatibilitas, pastikan versi MariaDB yang sama digunakan pada sistem sumber dan tujuan saat mencadangkan basis data. Misalnya, jika server MariaDB Anda yang ada adalah versi 10.2, Anda harus melakukan migrasi ke Azure Database for MariaDB yang dikonfigurasi untuk menjalankan versi 10.2. Perintah mysql_upgrade tidak mengoperasikan fungsi di server Azure Database for MariaDB dan itu tidak didukung. Jika Anda perlu melakukan peningkatan di seluruh versi MariaDB, pertama-tama cadangkan atau ekspor database versi lama Anda ke versi MariaDB yang lebih baru di lingkungan Anda sendiri. Anda kemudian dapat menjalankan mysql_upgrade sebelum mencoba bermigrasi ke Azure Database for MariaDB Anda.

Pertimbangan performa

Untuk mengoptimalkan performa saat Anda mencadangkan database besar, ingatlah pertimbangan berikut:

  • Gunakan opsi exclude-triggers di mysqldump. Kecualikan pemicu dari file cadangan untuk menghindari eksekusi perintah pemicu selama pemulihan data.
  • Gunakan opsi single-transaction untuk mengatur mode isolasi transaksi ke REPEATABLE READ dan kirim pernyataan START TRANSACTION SQL ke server sebelum mencadangkan data. Mencadangkan banyak tabel dalam satu transaksi menyebabkan beberapa penyimpanan tambahan yang harus dikonsumsi selama pemulihan. Opsi single-transaction dan opsi lock-tables bersifat saling eksklusif. Ini karena LOCK TABLES menyebabkan transaksi yang tertunda dilakukan secara implisit. Untuk mencadangkan tabel besar, gabungkan opsi single-transaction dengan opsi quick.
  • Gunakan sintaks beberapa baris extended-insert yang menyertakan beberapa daftar VALUE. Pendekatan ini menghasilkan file cadangan yang lebih kecil dan mempercepat sisipan saat file dimuat ulang.
  • Gunakan opsi order-by-primary di mysqldump saat Anda mencadangkan database, sehingga data ditulis dalam urutan kunci utama.
  • Gunakan opsi disable-keys di mysqldump saat Anda mencadangkan data, untuk menonaktifkan batasan kunci asing sebelum dimuat. Menonaktifkan pemeriksaan kunci asing akan membantu meningkatkan performa. Aktifkan batasan dan periksa data setelah pemuatan untuk memastikan integritas referensial.
  • Gunakan tabel partisi bila sesuai.
  • Muat data secara paralel. Hindari terlalu banyak paralelisme, yang dapat menyebabkan Anda mencapai batas sumber daya, dan pantau sumber daya dengan menggunakan metrik yang tersedia di portal Microsoft Azure.
  • Gunakan opsi defer-table-indexes di mysqlpump saat Anda mencadangkan database, sehingga pembuatan indeks terjadi setelah data tabel dimuat.
  • Salin file cadangan ke penyimpanan blob Azure dan lakukan pemulihan dari sana. Pendekatan ini harus jauh lebih cepat daripada melakukan pemulihan di internet.

Membuat file cadangan

Untuk mencadangkan database MariaDB yang ada di server lokal atau di komputer virtual, jalankan perintah berikut dengan menggunakan mysqldump:

mysqldump --opt -u <uname> -p<pass> <dbname> > <backupfile.sql>

Parameter yang akan digunakan adalah:

  • <uname>: Nama pengguna database Anda
  • <pass>: Kata sandi untuk database Anda (perhatikan bahwa tidak ada ruang antara -p dan kata sandi)
  • <dbname>: Nama database Anda
  • <backupfile.sql>: Nama file untuk cadangan database Anda
  • <--opt>: Opsi mysqldump

Misalnya, untuk mencadangkan database bernama testdb di server MariaDB Anda dengan nama pengguna testuser dan tanpa kata sandi ke file testdb_backup.sql, gunakan perintah berikut. Perintah akan mencadangkan database testdb ke dalam file yang disebut testdb_backup.sql, yang berisi semua pernyataan SQL yang diperlukan untuk membuat ulang database.

mysqldump -u root -p testdb > testdb_backup.sql

Guna memilih tabel tertentu untuk dicadangkan di database Anda, cantumkan nama tabel, dipisahkan oleh spasi. Misalnya, untuk mencadangkan tabel1 dan tabel2 saja dari testdb, ikuti contoh ini:

mysqldump -u root -p testdb table1 table2 > testdb_tables_backup.sql

Untuk mencadangkan lebih dari satu database sekaligus, gunakan pengalih --database dan cantumkan nama database, dipisahkan oleh spasi.

mysqldump -u root -p --databases testdb1 testdb3 testdb5 > testdb135_backup.sql

Membuat database di server target

Buat database kosong di server target Azure Database for MariaDB tempat Anda ingin memigrasikan data. Gunakan alat seperti MySQL Workbench untuk membuat database. Database bisa memiliki nama yang sama dengan database yang berisi data yang dicadangkan, atau Anda bisa membuat database dengan nama yang berbeda.

Untuk tersambung, temukan informasi koneksi di panel Ringkasan Azure Database for MariaDB Anda.

Screenshot of the Overview pane for an Azure database for MariaDB server in the Azure portal.

Di MySQL Workbench, tambahkan informasi koneksi.

Screenshot of the MySQL Connections pane in MySQL Workbench.

Memulihkan database MariaDB Anda

Setelah Anda membuat database target, Anda bisa menggunakan perintah mysql atau MySQL Workbench untuk memulihkan data ke database yang baru dibuat dari file cadangan.

mysql -h <hostname> -u <uname> -p<pass> <db_to_restore> < <backupfile.sql>

Dalam contoh ini, Anda memulihkan data ke database yang baru dibuat pada target server Azure Database for MariaDB.

mysql -h mydemoserver.mariadb.database.azure.com -u myadmin@mydemoserver -p testdb < testdb_backup.sql

Ekspor database MariaDB Anda dengan menggunakan phpMyAdmin

Untuk mengekspor, Anda dapat menggunakan alat umum phpMyAdmin, yang mungkin sudah dipasang secara lokal di lingkungan Anda. Untuk mengekspor database MariaDB Anda, lakukan hal berikut:

  1. Buka phpMyAdmin.
  2. Di panel kiri, pilih database Anda, lalu pilih tautan Ekspor. Halaman baru tampaknya menampilkan cadangan database.
  3. Di area Ekspor, pilih tautan Pilih Semua untuk memilih tabel di database Anda.
  4. Di area opsi SQL, pilih opsi yang sesuai.
  5. Pilih opsi Simpan sebagai file dan opsi pemadatan terkait, lalu pilih Buka. Pada perintah, simpan file secara lokal.

Mengimpor database Anda dengan menggunakan phpMyAdmin

Proses impor mirip dengan proses ekspor. Lakukan:

  1. Buka phpMyAdmin.
  2. Pada halaman penyetelan phpMyAdmin, pilih Tambahkan untuk menambahkan server Azure Database for MariaDB Anda.
  3. Masukkan detail koneksi dan informasi login.
  4. Buat database bernama yang tepat, lalu pilih di panel kiri. Untuk menulis ulang database yang sudah ada, pilih nama database, pilih semua kotak centang di samping nama tabel, dan pilih Hilangkan untuk menghapus tabel yang sudah ada.
  5. Pilih tautan SQL untuk menampilkan halaman tempat Anda dapat memasukkan perintah SQL atau mengunggah file SQL Anda.
  6. Pilih tombol telusur untuk menemukan file database.
  7. Pilih tombol Buka untuk mengekspor cadangan, menjalankan perintah SQL, dan membuat ulang database Anda.

Langkah berikutnya