Ответ 1
mysqldump -u user -p pass -d olddb | mysql -u user -p pass -D newdb
Новая база данных уже должна существовать. Флаг -d
в команде mysqldump предотвращает копирование данных.
Есть ли способ скопировать структуру базы данных без данных в MySQL, поэтому новая база данных будет такой же, как и скопирована, но с пустыми таблицами.
После получения некоторых предложений я попробовал команду, но я получаю синтаксическую ошибку, мои username = root
и password = nothing
. Я предполагаю, что он по умолчанию. Я пытаюсь выполнить команду,
mysqldump -u root -p -d xyz_db | mysql -u root -p -Dnew_db
что я теряю или теряю в команде?
mysqldump -u user -p pass -d olddb | mysql -u user -p pass -D newdb
Новая база данных уже должна существовать. Флаг -d
в команде mysqldump предотвращает копирование данных.
Вы можете сделать резервную копию с помощью mysqldump и восстановить с помощью mysql с помощью командной строки.
Для резервной базы данных
mysqldump -u root-pPassword -P3309 --routines --no-data testdb > "d:\dbwithnodata.sql"
Для восстановления базы данных
mysql -u root-pPassword -P3309 newdb < "d:\dbwithnodata.sql"
mysqldump -d -u someuser -p mydatabase > mydatabase.sql
http://www.electrictoolbox.com/mysqldump-schema-only/
Это будет выводиться в файл sql.
Вы можете создать резервную копию структуры базы данных MYSQL с помощью
mysqldump -u username –p -d database_name > backup.sql
(Вы не должны указывать пароль в командной строке, поскольку это приводит к угрозам безопасности. MYSQL будет запрашивать пароль по умолчанию.) И вы можете создавать таблицы создания в базе данных с помощью
mysql -u username -p new_database < backup.sql
Теперь вы можете использовать pipe для вывода вывода первой команды в качестве вывода для второго, и вам больше не понадобится backup.sql
mysqldump -u username –p -d database_name|mysql -u username -p new_database
Все таблицы внутри будут созданы в new_database
без данных.