mysql - 制作现有数据库的副本,其中没有数据
问题描述
我想复制一个数据库而不复制它的数据,我的意思是我只想复制结构和表和外键......而不是其中的数据。答案就在这里,但我不知道我应该在哪里复制它?在壳里?在工作台上?在查询?我在工作台的查询中输入了它,它有错误!先感谢您!
编辑
当我在我的 mysql shell 中运行它时,我得到了这个:
MySQL JS > mysqldump -u myusername -pmypassword -d olddb | mysql -u myusername -pmypassword -D newdb
SyntaxError: Unexpected identifier.
解决方案
您需要在操作系统的命令行上运行它(而不是您之前尝试的 MySQL 外壳)。
在 Linux(包括 Mac)下,它看起来像:
smm@smm-HP-ZBook-15-G2:~/$ mysqldump -u myusername -pmypassword -d olddb | mysql -u myusername -pmypassword -D newdb
在 Windows 下:
C:\> mysqldump -u myusername -pmypassword -d olddb | mysql -u myusername -pmypassword -D newdb
这是假设 mysqldump 在您的命令行的 PATH 中(如果您收到 command not found 错误,则不是)。如何使用命令行和设置 PATH 取决于操作系统,超出了此答案的范围。