Topik ini menjelaskan cara memigrasikan data dari database MySQL yang dikelola sendiri ke kluster PolarDB for MySQL menggunakan mysqldump.
Prasyarat
Operasi berikut telah selesai dilakukan untuk kluster tujuan PolarDB for MySQL:
Buat database. Untuk informasi lebih lanjut tentang cara membuat database, lihat Manajemen Database.
Ajukan endpoint publik. Untuk informasi lebih lanjut tentang cara mengajukan endpoint publik, lihat Kelola endpoint kluster.
Perbedaan antara metode migrasi data
Anda dapat menggunakan mysqldump atau Data Transmission Service (DTS) untuk memigrasikan data dari database MySQL yang dikelola sendiri ke kluster PolarDB for MySQL. Tabel berikut menjelaskan perbedaan antara kedua metode migrasi tersebut.
Item | mysqldump | DTS |
Versi database MySQL yang dikelola sendiri | Tidak ada batasan | 5.1, 5.5, 5.6, 5.7, atau 8.0 |
Migrasi skema dan migrasi data penuh | Didukung | Didukung |
Migrasi data inkremental | Tidak didukung | Didukung |
Migrasi panas | Tidak didukung | Didukung |
Untuk informasi lebih lanjut tentang cara memigrasikan data menggunakan DTS, lihat Migrasi data dari database MySQL yang dikelola sendiri ke kluster PolarDB for MySQL.
Catatan penggunaan
Nama tabel yang dimigrasikan ke kluster tujuan PolarDB for MySQL tidak peka terhadap huruf besar/kecil dan secara otomatis diubah menjadi huruf kecil.
Prosedur
Contoh ini menggunakan database MySQL 8.0 yang dikelola sendiri yang berjalan pada sistem operasi Linux.
Gunakan mysqldump untuk mengekspor data, prosedur tersimpan, pemicu, dan fungsi dari database MySQL yang dikelola sendiri.
CatatanJangan memperbarui data saat proses ekspor sedang berlangsung.
Di CLI Linux, jalankan perintah berikut untuk mengekspor data dari database MySQL yang dikelola sendiri.
CatatanSaat memasukkan endpoint dari database MySQL yang dikelola sendiri, perhatikan hal-hal berikut:
Jika database MySQL yang dikelola sendiri diterapkan pada instance Elastic Compute Service (ECS), masukkan 127.0.0.1.
Jika database MySQL yang dikelola sendiri adalah database lokal, masukkan endpoint publik dari database tersebut.
mysqldump -h <Endpoint dari database MySQL yang dikelola sendiri> -u user -p --opt --default-character-set=utf8 --hex-blob <Nama dari database MySQL yang dikelola sendiri> --skip-triggers --skip-lock-tables > /tmp/<Nama dari database MySQL yang dikelola sendiri>.sqlContoh
mysqldump -h 127.0.0.1 -u user -p --opt --default-character-set=utf8 --hex-blob testdb --skip-triggers --skip-lock-tables > /tmp/testdb.sql(Opsional) Di CLI Linux, jalankan perintah berikut untuk mengekspor prosedur tersimpan, pemicu, dan fungsi dari database MySQL yang dikelola sendiri.
CatatanJika database tidak memiliki prosedur tersimpan, pemicu, atau fungsi, lewati langkah ini.
mysqldump -h 127.0.0.1 -u user -p --opt --default-character-set=utf8 --hex-blob <Nama dari database MySQL yang dikelola sendiri> -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/*/' > /tmp/<Nama dari database MySQL yang dikelola sendiri> Trigger.sqlContoh
mysqldump -h 127.0.0.1 -u user -p --opt --default-character-set=utf8 --hex-blob testdb -R | sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' > /tmp/testdbTrigger.sql
Jalankan perintah berikut untuk mengimpor file yang diekspor ke kluster tujuan PolarDB:
mysql -h <Endpoint dari kluster PolarDB> -P <Port dari kluster PolarDB> -u <Akun dari kluster PolarDB> -p <Nama database PolarDB> < /tmp/<Nama dari database MySQL yang dikelola sendiri>.sql mysql -h <Endpoint dari kluster PolarDB> -P <Port dari kluster PolarDB> -u <Akun dari kluster PolarDB> -p <Nama database PolarDB> < /tmp/<Nama dari database MySQL yang dikelola sendiri>Trigger.sqlContoh
mysql -h polardbtest.mysql.polardb.rds.aliyuncs.com -P 3306 -u testuser -p testdb < /tmp/testdb.sql mysql -h polardbtest.mysql.polardb.rds.aliyuncs.com -P 3306 -u testuser -p testdb < /tmp/testdbTrigger.sqlCatatanNama database PolarDB harus merupakan nama database yang sudah ada di kluster PolarDB. Untuk informasi lebih lanjut tentang cara membuat database, lihat Manajemen Database.
Akun dari kluster PolarDB harus merupakan akun istimewa atau akun yang memiliki izin baca dan tulis.
Setelah mengimpor file, Anda dapat masuk ke database kluster PolarDB untuk memeriksa apakah data normal. Untuk informasi lebih lanjut tentang cara masuk ke database kluster PolarDB, lihat Hubungkan ke kluster.
FAQ
Apa yang harus saya lakukan jika pesan kesalahan Akses ditolak; Anda memerlukan (setidaknya salah satu) hak istimewa SUPER untuk operasi ini muncul?
Hapus pernyataan dalam skrip yang memerlukan hak istimewa SUPER, lalu jalankan skrip tersebut.