全部产品
Search
文档中心

Data Transmission Service:Migrasi akun basis data

更新时间:Jul 02, 2025

Data Transmission Service (DTS) memungkinkan Anda memigrasikan akun basis data. Saat mengonfigurasi tugas sinkronisasi atau migrasi data, Anda dapat mengaktifkan fitur migrasi akun. Fitur ini membantu memigrasikan akun dari basis data sumber beserta kata sandi dan izinnya ke basis data tujuan.

Latar Belakang

Setelah menyinkronkan atau memigrasikan data dari basis data sumber ke basis data tujuan, Anda mungkin perlu membuat akun basis data sumber secara manual dan memberikan izin kepada akun tersebut di basis data tujuan. Proses ini memerlukan pengetahuan profesional tentang basis data, memakan waktu, dan rentan terhadap kesalahan. Hal ini dapat berdampak negatif pada bisnis Anda.

Prasyarat

  • Akun basis data sumber dan tujuan yang digunakan dalam tugas DTS harus memiliki izin yang diperlukan. Untuk informasi lebih lanjut, lihat bagian Izin yang Diperlukan untuk Akun Basis Data dari topik ini.

  • Sinkronisasi skema atau migrasi dipilih sebagai jenis sinkronisasi atau migrasi. Artinya, dalam langkah Configure Objects and Advanced Settings dari wizard Create Task, Schema Synchronization dipilih untuk parameter Synchronization Types, atau Schema Migration dipilih untuk parameter Migration Types.

Basis data yang didukung

Catatan

Basis data MySQL dapat berupa instance ApsaraDB RDS for MySQL atau basis data MySQL yang dikelola sendiri.

Tipe basis data sumber

Tipe basis data tujuan

MySQL

MySQL, PolarDB for MySQL

PolarDB for MySQL

MySQL, PolarDB for MySQL

Catatan penggunaan

  • Jika basis data tujuan berjalan pada instance MySQL 5.6 atau kluster PolarDB for MySQL, akun basis data sumber tidak dapat dimigrasikan ke basis data tujuan.

  • Jika basis data sumber menjalankan MySQL 8.0, akun dengan izin dinamis tidak dapat dimigrasikan.

  • Jika basis data tujuan adalah instance MySQL atau kluster PolarDB for MySQL, fitur migrasi akun tidak didukung untuk akun basis data sumber yang memiliki izin RELOAD, CREATE TABLESPACE, FILE, atau ALL PRIVILEGES.

  • Akun sistem seperti root, mysql.infoschema, mysql.session, dan mysql.sys, serta akun bawaan dari basis data sumber tidak dapat dimigrasikan ke basis data tujuan. Jika Anda memilih akun sistem atau akun bawaan sebagai akun basis data yang akan dimigrasikan, pesan kesalahan Access denied for user 'XXXX' akan dikembalikan untuk tugas DTS.

  • Akun yang sudah ada di basis data tujuan tidak dapat dimigrasikan. Jika tugas DTS dijalankan ulang atau beberapa tugas DTS sedang berjalan, akun yang akan dimigrasikan mungkin sudah ada di basis data tujuan. Pada tab User_Privilege untuk modul Schema Migration dari tugas DTS Anda, akun yang ada di basis data tujuan terdaftar sebagai akun yang telah dimigrasikan. Anotasi user already exists muncul dalam pernyataan untuk membuat akun di basis data tujuan.

  • Akun yang tidak berizin tidak dapat dimigrasikan.

  • Kata sandi akun tidak dapat diatur ulang saat Anda memigrasikan akun.

  • Jika akun yang akan dimigrasikan adalah akun istimewa, akun tersebut menjadi akun standar yang tidak berwenang mengelola basis data setelah dimigrasikan ke basis data tujuan.

  • Akun instance basis data Alibaba Cloud tujuan yang hanya diakses menggunakan localhost atau 127.0.0.1 tidak mendukung migrasi data, jadi kami sarankan untuk tidak memigrasikan akun tersebut.

Izin yang diperlukan untuk akun basis data

Sebelum memigrasikan akun basis data sumber, pastikan bahwa akun basis data sumber dan tujuan yang digunakan saat mengonfigurasi tugas DTS memiliki izin berikut. Akun istimewa memenuhi persyaratan.

Akun

Izin

Metode otorisasi

Akun basis data sumber

Izin SELECT pada tabel metadata mysql.user, mysql.db, mysql.columns_priv, dan mysql.tables_priv.

Gunakan akun istimewa untuk menjalankan perintah berikut guna memberikan izin kepada akun basis data sumber dan tujuan.

Basis data sumber

grant SELECT on mysql.user to user@'%';
grant SELECT on mysql.db to user@'%';
grant SELECT on mysql.columns_priv to user@'%';
grant SELECT on mysql.tables_priv to user@'%';

Basis data tujuan

grant SELECT on mysql.user to user@'%';
grant CREATE USER on *.* to user@'%';
grant GRANT OPTION on *.* to user@'%';
Catatan

Ganti user dalam perintah dengan akun basis data sumber atau tujuan yang Anda gunakan untuk mengonfigurasi tugas DTS.

Akun basis data tujuan

Izin CREATE USER, izin GRANT OPTION, dan izin SELECT pada tabel metadata mysql.user.

Prosedur

  1. Pada langkah Advanced Settings, atur Whether to Migrate Accounts ke Yes.

  2. Pilih akun yang ingin Anda migrasikan berdasarkan kebutuhan bisnis Anda.

    Catatan

    Nama akun berada dalam format <username>@<host>. Variabel <host> menentukan host yang dapat masuk menggunakan akun yang ditentukan.

  3. Konfigurasikan parameter lain yang diperlukan untuk tugas DTS. Untuk informasi lebih lanjut, lihat Ikhtisar Skenario Sinkronisasi Data atau Ikhtisar Skenario Migrasi Data.

FAQ

  • Mengapa saya tidak dapat memilih akun?

    Akun tersebut mungkin merupakan akun sistem, atau akun dengan nama yang sama sudah ada di basis data tujuan.

  • Mengapa daftar akun kosong?

    Akun yang Anda tentukan mungkin tidak memiliki izin yang diperlukan. Pastikan bahwa akun basis data sumber dan tujuan yang digunakan dalam tugas DTS diberikan izin yang diperlukan.