Назад | Перейти на главную страницу

Есть ли способ скопировать схему из одной базы данных MySQL в другую?

У меня есть база данных 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.