Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ TaurusDB/ Guia de usuário/ Migração de dados/ Migração de dados para o TaurusDB usando mysqldump
Atualizado em 2025-05-23 GMT+08:00

Migração de dados para o TaurusDB usando mysqldump

Você pode usar o mysqldump para migrar dados para o TaurusDB.

Precauções

A migração do banco de dados é realizada off-line. Antes da migração, você precisa interromper todas as aplicações que usam o banco de dados de origem.

Preparação para a migração

  1. Prepare um ECS na mesma VPC e sub-rede da instância de TaurusDB ou vincule um EIP à instância de TaurusDB.
    • Para se conectar a uma instância por meio de uma rede privada, um ECS deve ser criado primeiro.

      Compre um ECS e faça logon no ECS.

    • Para se conectar a uma instância por meio de um EIP, você deve:
      1. Vincule o EIP à instância. Para obter detalhes, consulte Procedimento.
      2. Certifique-se de que o dispositivo local possa acessar o EIP que foi vinculado à instância.
  2. Instale o cliente mysql no ECS ou dispositivo preparado que pode acessar a instância de TaurusDB.
    • Instale o cliente mysql seguindo as instruções fornecidas em Como posso instalar o cliente mysql?
    • Certifique-se de que a versão do cliente mysql seja igual ou posterior à instalada na instância de TaurusDB. O banco de dados ou cliente de MySQL fornece mysqldump e mysql por padrão.

Exportação de dados

Antes de migrar dados do banco de dados de origem para a instância de TaurusDB, você precisa exportar dados do banco de dados de origem primeiro.

mysqldump deve corresponder à versão do mecanismo de BD.

  1. Faça logon no ECS ou dispositivo preparado que pode acessar a instância de TaurusDB.
  2. Use mysqldump para exportar metadados para um arquivo SQL.

    Bancos de dados MySQL são necessários para gerenciamento de TaurusDB. Ao exportar metadados, não especifique --all-database, ou os bancos de dados ficarão indisponíveis.

    mysqldump --databases <DB_NAME> --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u <DB_USER> -p -h <DB_ADDRESS> -P <DB_PORT> |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' > <BACKUP_FILE>

    • <DB_NAME> indica o nome do banco de dados a ser migrado.
    • <DB_USER> indica o nome de usuário do banco de dados.
    • <DB_ADDRESS> indica o endereço do banco de dados.
    • <DB_PORT> indica a porta do banco de dados.
    • <BACKUP_FILE> indica o nome do arquivo para o qual os dados serão exportados.

    Digite a senha do banco de dados quando solicitado.

    Exemplo:

    mysqldump --databases gaussdb --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u root -p -h 192.*.*.* -P 3306 |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' > dump-defs.sql

    Enter password:

    Depois que esse comando for executado, o arquivo dump-defs.sql será gerado.

  3. Use mysqldump para exportar dados para um arquivo SQL.

    Bancos de dados MySQL são necessários para gerenciamento de TaurusDB. Ao exportar metadados, não especifique --all-database, ou os bancos de dados ficarão indisponíveis.

    mysqldump --databases <DB_NAME> --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u <DB_USER> -p -h <DB_ADDRESS> -P <DB_PORT> -r <BACKUP_FILE>

    Para obter detalhes sobre os parâmetros no comando anterior, consulte 2.

    Digite a senha do banco de dados quando solicitado.

    Exemplo:

    mysqldump --databases gaussdb --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u root -p -h 192.*.*.* -P 3306 -r dump-data.sql

    Depois que esse comando for executado, o arquivo dump-data.sql será gerado.

Importação de dados

Você pode usar um cliente para se conectar à instância de TaurusDB por meio de um ECS ou dispositivo que pode acessar a instância de TaurusDB e, em seguida, importar os arquivos SQL exportados para essa instância.

Se o banco de dados de origem chamar acionadores, procedimentos armazenados, funções ou eventos, você deverá definir log_bin_trust_function_creators como ON para o banco de dados de destino antes de importar os dados.

  1. Importe metadados para a instância de TaurusDB.

    mysql -f -h <DB_ADDRESS> -P <DB_PORT> -u root -p < <BACKUP_DIR>/dump-defs.sql

    • <DB_ADDRESS> indica o endereço IP da instância de TaurusDB.
    • <DB_PORT> indica a porta da instância de TaurusDB.
    • <BACKUP_DIR> indica o diretório onde dump-defs.sql será armazenado.

    Exemplo:

    mysql -f -h 172.*.*.* -P 3306 -u root -p < dump-defs.sql

    Enter password:

  2. Importe dados para a instância de TaurusDB.

    mysql -f -h <DB_ADDRESS> -P <DB_PORT> -u root -p < <BACKUP_DIR>/dump-data.sql

    • <DB_ADDRESS> indica o endereço IP da instância de TaurusDB.
    • <DB_PORT> indica a porta da instância de TaurusDB.
    • <BACKUP_DIR> indica o diretório onde dump-data.sql será armazenado.

    Exemplo:

    mysql -f -h 172.*.*.* -P 3306 -u root -p < dump-data.sql

    Enter password:

  3. Use a ferramenta MySQL para se conectar à instância de TaurusDB e exibir os resultados.

    mysql> show databases;

    Neste exemplo, o banco de dados chamado my_db foi importado.

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | my_db              |
    | mysql              |
    | performance_schema |
    +--------------------+
    4 rows in set (0.00 sec)