У меня есть база данных MySQL, содержащая почти 100 таблиц.
Я хочу настроить 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 и исходный код makedbs.sql
mysql -u user -p
mysql> source makedbs.sql
который создаст 2 базы данных N и N1, которые имеют ту же схему, что и ваш оригинал.
Вы можете сбросить схему существующей базы данных, используя mysqldump
с --no-data
вариант а затем используйте это для создания новых баз данных с помощью простого сценария, который создает каждую базу данных, а затем заполняет ее из вывода mysqldump.