任何方式将架构从一个MySQL数据库复制到另一个?

我有一个包含近100个表的MySQL数据库。

我想在同一个服务器上设置N个额外的MySQL数据库,每个在不同的端口上运行。 我希望每个额外的数据库都具有与原始数据库相同的架构/表结构。

有没有办法自动生成N个原始数据库的副本,并在N个不同的端口上设置它们?

谢谢

看看mysqldump ,它是--no-data选项来获取模式的副本。 一旦你有,你将不得不做一个脚本来源于MySQL

例如

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

将生成数据库database模式的副本。

如果在一个名为makedbs.sql的文件中有一个如下所示的脚本

create database N;

在这里设置权限

use N;

source database-schema.sql;

create database N1;

在这里设置权限

use N1;

source database-schema.sql;

然后你可以运行mysql和source makedbs.sql

 mysql -u user -p mysql> source makedbs.sql 

这将创build2个数据库N和N1,它们与您的原始数据库具有相同的架构。

您可以使用mysqldump--no-data选项来转储现有数据库的模式,然后使用创build每个数据库的简单脚本创build新的数据库,然后使用mysqldump的输出填充它。