Qualquer maneira de copiar o esquema de um banco de dados MySQL para outro?

3

Eu tenho um banco de dados MySQL que contém quase 100 tabelas.

Eu quero configurar N bancos de dados MySQL adicionais no mesmo servidor, cada um rodando em uma porta diferente. E quero que cada banco de dados adicional tenha as mesmas estruturas de esquema / tabela que o banco de dados original.

Existe alguma maneira de fazer automaticamente N duplicatas do banco de dados original e configurá-las em N portas diferentes?

Obrigado

    
por Continuation 25.10.2010 / 13:09

2 respostas

6

Dê uma olhada no mysqldump e é --no-data opção para obter uma cópia do esquema. Uma vez que você tenha que fazer um script para o mysql

por exemplo.

mysqldump --no-data -u user -p database >database-schema.sql

irá gerar uma cópia do esquema para o banco de dados database .

Se você tivesse um script como abaixo em um arquivo chamado por exemplo makedbs.sql

create database N;

definir permissões aqui

use N;

source database-schema.sql;

create database N1;

definir permissões aqui

use N1;

source database-schema.sql;

Então você poderia executar o mysql e o makedbs.sql de origem

mysql -u user -p

mysql> source makedbs.sql

que criaria 2 bases de dados N e N1 que têm o mesmo esquema do original.

    
por 25.10.2010 / 14:01
1

Você pode despejar o esquema de um banco de dados existente usando mysqldump com o --no-data option e, em seguida, use-o para criar novos bancos de dados usando um script simples que cria cada banco de dados e depois o preenche a partir da saída do mysqldump.

    
por 25.10.2010 / 14:03