Tüm Ürünler
Search
Belge Merkezi

ApsaraDB RDS:ApsaraDB RDS for MySQL için mysqldump seçenekleri

Son Güncelleme:Oct 03, 2026

GTID özelliği

MySQL 5.6 sürümüyle Global Transaction Identifier (GTID) özelliği tanıtıldı. Bu nedenle, MySQL 5.6 ve sonraki sürümlerdeki mysqldump yardımcı programı set-gtid-purged seçeneğini içerir.


Parametre


Varsayılan


Değer


Açıklama


set-gtid-purged


AUTO


ON|OFF|AUTO


Çıktıda SET @@GLOBAL.GTID_PURGED ifadesinin yer alıp almayacağını belirler.

Not
  • ON: mysqldump çıktısına SET @@GLOBAL.GTID_PURGED ifadesini ekler.

  • OFF: mysqldump çıktısına SET @@GLOBAL.GTID_PURGED ifadesini eklemez.

  • AUTO: Varsayılan değerdir. Kaynak örnekte GTID etkinse SET @@GLOBAL.GTID_PURGED ifadesini ekler; aksi takdirde GTID bilgisi eklemez.

Bu nedenle, MySQL 5.6 veya sonraki bir sürümdeki mysqldump aracını kullanarak ApsaraDB RDS for MySQL 5.5 örneğinden veri dışa aktarırken set-gtid-purged seçeneğini OFF olarak ayarlamanız gerekir. Aksi takdirde aşağıdaki hatalardan biri oluşur:

Error: Server has GTIDs disabled.
or
mysqldump: Couldn’t execute ‘SELECT @@GTID_MODE’: Unknown system variable ‘GTID_MODE’ <1193>

Tablo düzeyinde kilit bekleme sürelerinden kaçınma

Varsayılan olarak mysqldump, lock-tables seçeneğini etkinleştirir. Bu seçenek, dışa aktarılan tablolar üzerinde tablo düzeyinde kilit uygular ve bu tablolar üzerindeki Data Manipulation Language (DML) işlemlerini engeller.

ApsaraDB RDS for MySQL örneklerinde varsayılan olarak desteklenen InnoDB ve TokuDB depolama altyapıları işlem (transaction) desteği sunar. Verileri dışa aktarmak için lock-all-tables veya lock-tables seçeneklerini kullanmak yerine single-transaction seçeneğini kullanmanızı öneririz.


Parametre


Varsayılan


Değer


Açıklama


lock-all-tables


FALSE


TRUE|FALSE


Dışa aktarma süresi boyunca genel bir okuma kilidi edinir. Bu durum, tüm veritabanlarındaki tüm tabloları salt okunur hale getirir. Bu seçenek, lock-tables ve single-transaction seçeneklerini otomatik olarak devre dışı bırakır. ApsaraDB RDS for MySQL tarafından desteklenmez.


lock-tables


TRUE


TRUE|FALSE


Dışa aktarma sırasında dışa aktarılan tabloları kilitler. Bu seçenek varsayılan olarak etkindir. Devre dışı bırakmak için skip-lock-tables seçeneğini kullanın.


single-transaction


FALSE


TRUE|FALSE


Dışa aktarmayı tek bir işlem içinde yürütür. Bu seçenek, lock-tables seçeneğini otomatik olarak devre dışı bırakır.

Dışa aktarma karakter kümesini ayarlama

Bir karakter kümesi belirtmezseniz mysqldump varsayılan olarak UTF8 kullanır.


Parametre


Varsayılan


Değer


Açıklama


default-character-set


UTF8


Örnek tarafından desteklenen karakter kümeleri


Dışa aktarma için karakter kümesini ayarlar.

Diğer dışa aktarma seçenekleri


Parametre


Varsayılan


Değer


Açıklama


no-defaults


NA


NA


.mylogin.cnf hariç herhangi bir seçenek dosyasını okumaz.


defaults-file=file_name


NA


NA


Yalnızca belirtilen seçenek dosyasını okur.


add-drop-database


FALSE


TRUE|FALSE


Her CREATE DATABASE ifadesinden önce bir DROP DATABASE ifadesi ekler.


add-drop-table


TRUE


TRUE|FALSE


Her CREATE TABLE ifadesinden önce bir DROP TABLE ifadesi ekler. Bu seçenek varsayılan olarak etkindir. Devre dışı bırakmak için skip-add-drop-table seçeneğini kullanın.


add-locks


TRUE


TRUE|FALSE


Her tablo dökümünü LOCK TABLES ve UNLOCK TABLES ifadeleriyle çevreler. Bu durum, döküm dosyasını yeniden yüklerken veri içe aktarma hızını artırabilir.


compatible=name


NA


ansi|postgresql|oracle|mssql


Belirtilen veritabanı türüyle daha uyumlu çıktı üretir.


compact


FALSE


TRUE|FALSE


skip-add-drop-table, skip-add-locks, skip-comments, skip-disable-keys ve skip-set-charset seçeneklerini etkinleştirir.


databases


FALSE


TRUE|FALSE


Birden fazla veritabanını dışa aktarır. Varsayılan olarak mysqldump, ilk ad bağımsız değişkenini veritabanı adı olarak, sonraki adları ise tablo adları olarak değerlendirir. Bu seçenekle birlikte mysqldump, tüm ad bağımsız değişkenlerini veritabanı adı olarak değerlendirir ve her veritabanı dökümünden önce CREATE DATABASE ve USE ifadelerini ekler.


disable-keys


TRUE


TRUE|FALSE


INSERT ifadelerini /!40000 ALTER TABLE tab_name DISABLE KEYS / ve /!40000 ALTER TABLE tab_name ENABLE KEYS / ifadeleriyle çevreler. Bu durum, veri ekleme işlemini hızlandırabilir. Bu seçenek yalnızca MyISAM tablolarının benzersiz olmayan dizinleri için etkilidir.


events


FALSE


TRUE|FALSE


Dökümü yapılan veritabanlarından zamanlanmış olayları dışa aktarır.


extended-insert


TRUE


TRUE|FALSE


Tek bir ifadede birden fazla satır yazmak için genişletilmiş INSERT sözdizimini kullanır.


hex-blob


FALSE


TRUE|FALSE


BINARY, VARBINARY ve BLOB sütunlarını onaltılık gösterim kullanarak dışa aktarır. Farklı sürümler arasında veri geçişi yaparken bu seçeneği kullanmanızı öneririz.


ignore-table=db.tab


NA


NA


Belirtilen tabloyu veya görünümü hariç tutar. Biçim db_name.table_name şeklindedir. Birden fazla tabloyu yoksaymak için bu seçeneği birden çok kez kullanabilirsiniz.


max-allowed-packet


24 MB


24 MB ila 1 GB


İstemci-sunucu iletişimi için maksimum arabellek boyutunu ayarlar. Varsayılan değer 24 MB'dır. Maksimum değer 1 GB'dır.


no-create-db


FALSE


TRUE|FALSE


Çıktıdaki CREATE DATABASE ifadelerini bastırır.


no-create-info


FALSE


TRUE|FALSE


Çıktıdaki CREATE TABLE ifadelerini bastırır.


no-data


FALSE


TRUE|FALSE


Herhangi bir satır verisi yazmaz.


opt


TRUE


TRUE|FALSE


add-drop-table, add-locks, create-options, disable-keys, extended-insert, lock-tables, quick ve set-charset seçeneklerini etkinleştirir. Bu seçenek varsayılan olarak etkindir. Devre dışı bırakmak için skip-opt kullanın.


dump-date


TRUE


TRUE|FALSE


Çıktının sonuna yorum olarak bir döküm zaman damgası ekler. Bu özellik comments seçeneğini gerektirir. Hem bu seçenek hem de comments varsayılan olarak etkindir.


routines


FALSE


TRUE|FALSE


Saklı yordamları ve işlevleri dışa aktarır. Bu seçenek varsayılan olarak devre dışıdır.


result-file


NA


NA


Çıktıyı belirtilen bir dosyaya yönlendirir.


set-charset


TRUE


TRUE|FALSE


Çıktıya SET NAMES default_character_set ifadesini ekler.


triggers


TRUE


TRUE|FALSE


Dökümü yapılan her tablo için tetikleyicileri dışa aktarır.

Desteklenmeyen seçenekler


Parametre


Varsayılan


Değer


Açıklama


all-databases


FALSE


TRUE|FALSE


mysql veritabanı dahil olmak üzere tüm veritabanlarını dışa aktarır.


flush-logs


FALSE


TRUE|FALSE


Dışa aktarmayı başlatmadan önce flush logs; komutunu yürütür.


flush-privileges


FALSE


TRUE|FALSE


mysql veritabanı dışa aktarıldıktan sonra çıktıya flush privileges; komutu ekler.


lock-all-tables


FALSE


TRUE|FALSE


Dışa aktarma süresi boyunca genel bir okuma kilidi edinir; bu durum, tüm veritabanlarındaki tüm tabloları salt okunur hale getirir. Bu seçenek, lock-tables ve single-transaction seçeneklerini otomatik olarak devre dışı bırakır.


tab=dir_name


NA


NA


Belirtilen dizinde bir tbl_name.sql dosyası (CREATE TABLE ifadesini içerir) ve sekme ile ayrılmış bir tbl_name.txt veri dosyası oluşturur.

Desteklenmeyen seçenekler ve nedenleri

  • all-databases: Bu seçenek desteklenmez. ApsaraDB RDS for MySQL'deki standart kullanıcı hesaplarının mysql veritabanındaki bazı tablolar için izni yoktur. Bu seçeneğin kullanılması hata oluşmasına neden olur.

    Hata mesajı

    
    mysqldump: Couldn’t execute ‘show create table slow_log‘: SHOW command denied to user ‘xxx’@’xx.xx.xx.xx’ for table ‘slow_log’ (1142)
  • flush-logs: Bu seçenek desteklenmez. ApsaraDB RDS for MySQL'deki standart kullanıcı hesaplarında RELOAD ayrıcalığı bulunmadığından flush logs; komutunu çalıştıramazlar.

    Hata mesajı

    mysqldump: Couldn’t execute ‘FLUSH TABLES’: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
  • flush-privileges: ApsaraDB RDS for MySQL, mysql veritabanının dışa aktarılmasını desteklemediğinden bu seçeneğe gerek yoktur.

  • lock-all-tables: Bu seçenek desteklenmez. ApsaraDB RDS for MySQL'deki standart kullanıcı hesaplarında RELOAD ayrıcalığı bulunmaz.

    Hata mesajı

    mysqldump: Couldn’t execute ‘FLUSH TABLES’: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
  • tab=dir_name: Bu seçenek, mysqldump'un ApsaraDB RDS for MySQL örneğini barındıran fiziksel makinede çalıştırılmasını gerektirdiğinden desteklenmez. Ancak, CREATE TABLE ifadelerini içeren dosyalar oluşturmak için bu seçeneği no-data seçeneğiyle birlikte kullanabilirsiniz.

    # Use this option with the no-data option to obtain the tab_name.sql file, which contains the CREATE TABLE statement for each table in the test database.
    mysqldump  —no-defaults -uuser_name -ppass_word -hxxx.mysql.rds.aliyuncs.com -P3306 —set-gtid-purged=off —single-transaction —tab=/tmp —no-data test
    # Error message returned when you export data without using the --no-data option:
    mysqldump  —no-defaults -uuser_name -ppass_word -hxxx.mysql.rds.aliyuncs.com -P3306 —set-gtid-purged=off —single-transaction —tab=/tmp test
    mysqldump: Got error: 1045: Access denied for user ‘xxx’@’%’ (using password: YES) when executing ‘SELECT INTO OUTFILE’