Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Como posso copiar uma única linha/registro de uma instância do MySQL para outra?


Se você já estiver familiarizado com o mysqldump, lembrarei que o mysqldump tem um --where opção , então você pode obter uma única linha se escrever a condição para isso:
mysqldump databasename tablename --where "id=12345" --no-create-info --skip-add-locks --host=db1  | \
  mysql --host=db2

Você também pode usar SELECT...INTO OUTFILE para despejar o resultado de qualquer consulta desejada em um arquivo simples, mesmo uma consulta de uma única linha. Então LOAD DATA INFILE para importar esse arquivo na outra instância.

Você também pode escrever um script simples em sua escolha de idioma. Conecte-se a ambas as instâncias. SELECIONE uma única linha da instância de origem, salve-a em uma variável no script. Em seguida, forme um comando INSERT para executar na instância de destino. Essa pode não ser a maneira mais eficiente de mover uma grande quantidade de dados, mas para uma única linha seria bom.