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:
- Buat server Azure Database for MariaDB - portal Microsoft Azure.
- Pasang utilitas baris perintah mysqldump.
- Unduh dan pasang MySQL Workbench atau alat MySQL pihak ketiga lainnya untuk menjalankan perintah pencadangan and pemulihan.
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 menjalankanmysql_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. Opsisingle-transaction
dan opsilock-tables
bersifat saling eksklusif. Ini karena LOCK TABLES menyebabkan transaksi yang tertunda dilakukan secara implisit. Untuk mencadangkan tabel besar, gabungkan opsisingle-transaction
dengan opsiquick
. - 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.
Di MySQL Workbench, tambahkan informasi koneksi.
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:
- Buka phpMyAdmin.
- Di panel kiri, pilih database Anda, lalu pilih tautan Ekspor. Halaman baru tampaknya menampilkan cadangan database.
- Di area Ekspor, pilih tautan Pilih Semua untuk memilih tabel di database Anda.
- Di area opsi SQL, pilih opsi yang sesuai.
- 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:
- Buka phpMyAdmin.
- Pada halaman penyetelan phpMyAdmin, pilih Tambahkan untuk menambahkan server Azure Database for MariaDB Anda.
- Masukkan detail koneksi dan informasi login.
- 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.
- Pilih tautan SQL untuk menampilkan halaman tempat Anda dapat memasukkan perintah SQL atau mengunggah file SQL Anda.
- Pilih tombol telusur untuk menemukan file database.
- Pilih tombol Buka untuk mengekspor cadangan, menjalankan perintah SQL, dan membuat ulang database Anda.