Tüm Ürünler
Search
Belge Merkezi

Data Transmission Service:Migrate database accounts

Son Güncelleme:Oct 05, 2026

Verileri bir hedef veritabanına geçirdiğinizde veya eşitlediğinizde genellikle tüm kaynak veritabanı hesaplarını manuel olarak yeniden oluşturmanız gerekir. Bu süreç zaman alıcıdır, derin veritabanı bilgisi gerektirir ve atlamalara açıktır. Data Transmission Service (DTS), geçiş veya eşitleme görevinin bir parçası olarak kaynak veritabanı hesaplarını (parolaları ve ayrıcalıkları dahil) hedef veritabanına geçirerek bu işlemi otomatikleştirir.

Ön koşullar

Başlamadan önce şunlardan emin olun:

  • DTS görevinde kullanılan kaynak ve hedef veritabanı hesaplarının gerekli ayrıcalıklara sahip olması gerekir. Tam yetkilendirme komutları için Gerekli ayrıcalıklar bölümüne bakın.

  • Geçiş veya eşitleme türü olarak Schema Migration veya Schema Synchronization seçilmiş olmalıdır. Yani, Görev Oluştur sihirbazının Configure Objects and Advanced Settings adımında Schema Synchronization parametresi için Synchronization Types seçili olmalı veya Migration Types parametresi için Schema Migration seçili olmalıdır.

Desteklenen veritabanları

MySQL veritabanları ApsaraDB RDS for MySQL örnekleri veya kendi kendine yönetilen MySQL veritabanları olabilir.

Kaynak veritabanı Hedef veritabanı
MySQL MySQL, PolarDB for MySQL
PolarDB for MySQL MySQL, PolarDB for MySQL

Gerekli ayrıcalıklar

Hesap geçişini çalıştırmadan önce, hem kaynak hem de hedef veritabanlarındaki DTS görev hesaplarına aşağıdaki ayrıcalıkları verin.

Kaynak veritabanı

Aşağıdaki komutları yetkili bir hesapla çalıştırın. user ifadesini DTS görevini yapılandırmak için kullandığınız hesapla değiştirin.

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@'%';

Hedef veritabanı

Aşağıdaki komutları yetkili bir hesapla çalıştırın. user ifadesini DTS görevini yapılandırmak için kullandığınız hesapla değiştirin.

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

Hesap geçişini etkinleştirin

  1. Görev Oluştur sihirbazının Advanced Settings adımında Whether to Migrate Accounts ayarını Yes olarak belirleyin.

  2. Geçirilecek hesapları seçin.

    Hesap adları <username>@<host> biçimini takip eder; burada <host> hesabın bağlanabileceği ana bilgisayar adıdır.
  3. Görev yapılandırmasının geri kalanını tamamlayın. Ayrıntılar için bkz. Veri eşitleme senaryolarına genel bakış veya Veri geçişi senaryolarına genel bakış.

Geçiş sonuçları

Görev çalıştıktan sonra her hesap için aşağıdaki sonuçlardan biri oluşur:

  • Migrated: Hesap ve tüm ayrıcalıkları hedef veritabanına tamamen geçirilmiştir.

  • Not migrated: Hesap atlanmıştır. Ayrıntıları görüntülemek için DTS görevinizin Schema Migration modülündeki User_Privilege sekmesine gidin. Hedef veritabanında zaten var olan hesaplar, user already exists açıklamasıyla geçirilmiş hesaplar olarak listelenir. Geçişi engelleyen tüm koşullar için bkz. Sınırlamalar.

Sınırlamalar

Aşağıdaki koşullar hesap geçişini engeller veya geçiş davranışını etkiler. Görevi çalıştırmadan önce veritabanı sürümünüz ve hesap türleriniz için geçerli olan koşulları kontrol edin.

Hedef veritabanı sürümü

  • Hedef veritabanı bir MySQL 5.6 örneği veya bir PolarDB for MySQL kümesi ise hesap geçişi desteklenmez.

MySQL 8.0 kaynak kısıtlamaları

  • Kaynak veritabanı MySQL 8.0 ise dinamik ayrıcalıklara sahip hesaplar geçirilemez.

Ayrıcalık kısıtlamaları

  • RELOAD, CREATE TABLESPACE, FILE veya ALL PRIVILEGES ayrıcalıklarına sahip hesaplar bir MySQL veya PolarDB for MySQL hedef veritabanına geçirilemez.

Hesap türü kısıtlamaları

  • Sistem hesapları (root, mysql.infoschema, mysql.session, mysql.sys) ve yerleşik hesaplar geçirilemez. Bu hesapların seçilmesi DTS görevinin Access denied for user 'XXXX' hatası döndürmesine neden olur.

  • Hedef veritabanında zaten var olan hesaplar geçirilemez. Bir DTS görevi yeniden başlatılırsa veya birden fazla DTS görevi çalışıyorsa geçirilecek hesaplar hedef veritabanında bulunabilir.

  • Yetkisiz hesaplar geçirilemez.

Geçiş sonrası davranış

  • Geçiş sırasında hesap parolaları sıfırlanamaz.

  • Yetkili hesaplar hedef veritabanında standart hesaplara dönüşür ve veritabanı yönetimi izinlerini kaybeder.

  • Yalnızca localhost veya 127.0.0.1 kullanılarak erişilen hedef Alibaba Cloud veritabanı örneği hesaplarının geçirilmemesini öneririz çünkü bu hesaplar veri geçişini desteklemez.

SSS

Neden bir hesap seçemiyorum?

Hesap ya bir sistem hesabıdır ya da aynı ada sahip bir hesap hedef veritabanında zaten mevcuttur.

Neden hesap listesi boş?

DTS görev hesaplarının kaynak veya hedef veritabanında gerekli ayrıcalıkları yoktur. Ayrıcalıkları Gerekli ayrıcalıklar bölümündeki yetkilendirme komutlarını kullanarak doğrulayın.