Con*_*ion 5 mysql database database-administration
我有一个包含近 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
Run Code Online (Sandbox Code Playgroud)
这将创建 2 个数据库 N 和 N1,它们与您的原始数据库具有相同的架构。