MySQL: создать базу данных?

В MySQL я хочу клонировать определенные базы данных. Есть ли такая вещь, как

CREATE DATABASE LIKE <template database here>

команда?
Я знаю, есть

CREATE TABLE LIKE 

Ответ 1

Если вы хотите клонировать базу данных, например, my_database, вам нужно запустить запрос mysql, а затем запустить команду в терминале linux:

mysql > CREATE DATABASE my_database_copy;

терминал linux (на машине с базой данных): mysqldump -u username -p my_database | mysql -u username -p my_database_copy

Оттуда вы, скорее всего, получите 2 подсказки "Введите пароль:".... просто введите свой пароль, нажмите enter и подождите:)

Ответ 2

Нет такой команды.

Но вы можете создать backup (файл SQL) вашей базы данных, а затем восстановить все объекты в новой базе данных.

Кроме того, вы можете использовать инструменты GUI в dbForge Studio для MySQL (бесплатная экспресс-версия) - Резервное копирование или восстановление базы данных. Это поможет вам быстро воссоздать базу данных и ее содержимое.

Ответ 3

  • Я предпочту взять резервную копию и восстановить
  • Если это просто для клонирования, я пойду за MySQLDump


Это всего лишь один из способов:

mysql> create database new_dbname;

mysql> select concat('create table
new_dbname.',TABLE_NAME,' like wings2020.',TABLE_NAME,'; insert into
new_dbname.',TABLE_NAME,' select * from ol_dbname.',TABLE_NAME,';')
from information_schema.tables where table_schema = 'old_dbname'  into
outfile '/tmp/a.txt'; 

mysql> source /tmp/a.txt;