copy database structure without data in mysql (with empty tables)
mysqldump -u user -ppass -d olddb | mysql -u user -ppass -D newdb
The new database must already exist. The -d
flag in the mysqldump command prevents copying of data.
There's no space between the flag -p
and the password.
You can take backup using mysqldump and restore with mysql using commandline.
For backup database
$ mysqldump -u root-pPassword -P3309 --routines --no-data testdb > "d:\dbwithnodata.sql"
For restoration of database
$ mysql -u root-pPassword -P3309 newdb < "d:\dbwithnodata.sql"
You can backup you MYSQL database structure with
mysqldump -u username –p -d database_name > backup.sql
(You should not supply password at command line as it leads to security risks.MYSQL will ask for password by default.) And you can create create tables in database with
mysql -u username -p new_database < backup.sql
Now you can use pipe to give the output of first command as output for second one and you will no longer need backup.sql
mysqldump -u username –p -d database_name|mysql -u username -p new_database
All tables in will be created in new_database
without data.