Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Opções do mysqldump para ApsaraDB RDS for MySQL

Última atualização: Sep 02, 2026

Recurso GTID

O MySQL 5.6 introduziu o recurso Global Transaction Identifier (GTID). Por isso, o utilitário mysqldump nas versões 5.6 e posteriores inclui a opção set-gtid-purged.

Parâmetro

Padrão

Valor

Descrição

set-gtid-purged

AUTO

ON\

OFF\

AUTO

Controla a inclusão da instrução SET @@GLOBAL.GTID_PURGED na saída.

Nota
  • ON: Inclui a instrução SET @@GLOBAL.GTID_PURGED na saída do mysqldump.

  • OFF: Não inclui a instrução SET @@GLOBAL.GTID_PURGED na saída do mysqldump.

  • AUTO: Valor padrão. Inclui a instrução SET @@GLOBAL.GTID_PURGED se o GTID estiver ativado na instância de origem. Caso contrário, nenhuma informação de GTID será incluída.

Portanto, ao usar o mysqldump do MySQL 5.6 ou posterior para exportar dados de uma instância do ApsaraDB RDS for MySQL 5.5, defina set-gtid-purged como OFF. Caso contrário, ocorrerá um dos seguintes erros:

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

Como evitar esperas por bloqueios no nível de tabela

Por padrão, o mysqldump ativa a opção lock-tables. Essa opção aplica um bloqueio no nível de tabela às tabelas exportadas e impede operações de Linguagem de Manipulação de Dados (DML) nessas tabelas.

Os mecanismos de armazenamento InnoDB e TokuDB, suportados por padrão nas instâncias do ApsaraDB RDS for MySQL, oferecem suporte a transações. Recomendamos usar a opção single-transaction para exportar os dados em vez das opções lock-all-tables ou lock-tables.

Parâmetro

Padrão

Valor

Descrição

lock-all-tables

FALSE

TRUE\

FALSE

Adquire um bloqueio de leitura global durante toda a exportação. Isso torna todas as tabelas em todos os bancos de dados somente leitura. Esta opção desativa automaticamente as opções lock-tables e single-transaction. O ApsaraDB RDS for MySQL não oferece suporte a esta opção.

lock-tables

TRUE

TRUE\

FALSE

Bloqueia as tabelas exportadas durante a exportação. Esta opção está ativada por padrão. Para desativá-la, use a opção skip-lock-tables.

single-transaction

FALSE

TRUE\

FALSE

Realiza a exportação dentro de uma única transação. Esta opção desativa automaticamente a opção lock-tables.

Definição do conjunto de caracteres de exportação

Se você não especificar um conjunto de caracteres, o mysqldump usará UTF8 por padrão.

Parâmetro

Padrão

Valor

Descrição

default-character-set

UTF8

Conjuntos de caracteres suportados pela instância

Define o conjunto de caracteres para a exportação.

Outras opções de exportação

Parâmetro

Padrão

Valor

Descrição

no-defaults

NA

NA

Não lê nenhum arquivo de opções, exceto .mylogin.cnf.

defaults-file=file_name

NA

NA

Lê apenas o arquivo de opções especificado.

add-drop-database

FALSE

TRUE\

FALSE

Adiciona uma instrução DROP DATABASE antes de cada instrução CREATE DATABASE.

add-drop-table

TRUE

TRUE\

FALSE

Adiciona uma instrução DROP TABLE antes de cada instrução CREATE TABLE. Esta opção está ativada por padrão. Para desativá-la, use a opção skip-add-drop-table.

add-locks

TRUE

TRUE\

FALSE

Envolve cada dump de tabela com instruções LOCK TABLES e UNLOCK TABLES. Isso pode acelerar a importação de dados ao recarregar o arquivo de dump.

compatible=name

NA

ansi\

postgresql\

oracle\

mssql

Produz uma saída mais compatível com o tipo de banco de dados especificado.

compact

FALSE

TRUE\

FALSE

Ativa as opções skip-add-drop-table, skip-add-locks, skip-comments, skip-disable-keys e skip-set-charset.

databases

FALSE

TRUE\

FALSE

Exporta vários bancos de dados. Por padrão, o mysqldump trata o primeiro argumento de nome como um nome de banco de dados e os nomes subsequentes como nomes de tabelas. Com esta opção, o mysqldump trata todos os argumentos de nome como nomes de bancos de dados e adiciona instruções CREATE DATABASE e USE antes de cada dump de banco de dados.

disable-keys

TRUE

TRUE\

FALSE

Envolve instruções INSERT com instruções /!40000 ALTER TABLE tab_name DISABLE KEYS / e /!40000 ALTER TABLE tab_name ENABLE KEYS /. Isso pode acelerar a inserção de dados. Esta opção é eficaz apenas para índices não exclusivos de tabelas MyISAM.

events

FALSE

TRUE\

FALSE

Exporta eventos agendados dos bancos de dados despejados.

extended-insert

TRUE

TRUE\

FALSE

Usa sintaxe estendida de INSERT para gravar várias linhas em uma única instrução.

hex-blob

FALSE

TRUE\

FALSE

Exporta colunas BINARY, VARBINARY e BLOB usando notação hexadecimal. Recomendamos usar esta opção ao migrar dados entre versões diferentes.

ignore-table=db.tab

NA

NA

Exclui a tabela ou visualização especificada. O formato é db_name.table_name. Use esta opção várias vezes para ignorar múltiplas tabelas.

max-allowed-packet

24 MB

24 MB a 1 GB

Define o tamanho máximo do buffer para comunicação cliente-servidor. O valor padrão é 24 MB. O valor máximo é 1 GB.

no-create-db

FALSE

TRUE\

FALSE

Suprime as instruções CREATE DATABASE na saída.

no-create-info

FALSE

TRUE\

FALSE

Suprime as instruções CREATE TABLE na saída.

no-data

FALSE

TRUE\

FALSE

Não grava nenhum dado de linha.

opt

TRUE

TRUE\

FALSE

Ativa as opções add-drop-table, add-locks, create-options, disable-keys, extended-insert, lock-tables, quick e set-charset. Esta opção está ativada por padrão. Para desativá-la, use skip-opt.

dump-date

TRUE

TRUE\

FALSE

Adiciona um carimbo de data/hora do dump como comentário no final da saída. Isso requer a opção comments. Tanto esta opção quanto comments estão ativadas por padrão.

routines

FALSE

TRUE\

FALSE

Exporta procedimentos armazenados e funções. Esta opção está desativada por padrão.

result-file

NA

NA

Redireciona a saída para um arquivo especificado.

set-charset

TRUE

TRUE\

FALSE

Adiciona SET NAMES default_character_set à saída.

triggers

TRUE

TRUE\

FALSE

Exporta os gatilhos de cada tabela despejada.

Opções sem suporte

Parâmetro

Padrão

Valor

Descrição

all-databases

FALSE

TRUE\

FALSE

Exporta todos os bancos de dados, incluindo o banco de dados mysql.

flush-logs

FALSE

TRUE\

FALSE

Executa o comando flush logs; antes de iniciar a exportação.

flush-privileges

FALSE

TRUE\

FALSE

Adiciona o comando flush privileges; à saída após a exportação do banco de dados mysql.

lock-all-tables

FALSE

TRUE\

FALSE

Adquire um bloqueio de leitura global durante a exportação, tornando todas as tabelas em todos os bancos de dados somente leitura. Esta opção desativa automaticamente as opções lock-tables e single-transaction.

tab=dir_name

NA

NA

Gera um arquivo tbl_name.sql (contendo a instrução CREATE TABLE) e um arquivo de dados tbl_name.txt separado por tabulações no diretório especificado.

Opções sem suporte e motivos

  • all-databases: Esta opção não é suportada. Contas de usuário padrão no ApsaraDB RDS for MySQL não têm permissões para algumas tabelas no banco de dados mysql. O uso desta opção causa um erro.

    Mensagem de erro

    
    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: Esta opção não é suportada. Contas de usuário padrão no ApsaraDB RDS for MySQL não possuem o privilégio RELOAD e, portanto, não podem executar o comando flush logs;.

    Mensagem de erro

    mysqldump: Couldn’t execute ‘FLUSH TABLES’: Access denied; you need (at least one of) the RELOAD privilege(s) for this operation (1227)
  • flush-privileges: Esta opção é desnecessária porque o ApsaraDB RDS for MySQL não oferece suporte à exportação do banco de dados mysql.

  • lock-all-tables: Esta opção não é suportada. Contas de usuário padrão no ApsaraDB RDS for MySQL não possuem o privilégio RELOAD.

    Mensagem de erro

    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: Esta opção não é suportada porque exige que o mysqldump seja executado na mesma máquina física que hospeda a instância do ApsaraDB RDS for MySQL. No entanto, use esta opção com a opção no-data para gerar arquivos contendo instruções CREATE TABLE.

    # 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’