【发布时间】:2013-11-25 11:51:22
【问题描述】:
有没有办法将表和数据从一个模式导出到另一个模式?管理导入/导出选项要求我选择要连接的服务器,它显示为空白。我目前连接到我学校租用的服务器,专门用于这个课程,所以我没有任何管理员权限。
【问题讨论】:
标签: mysql export schema mysql-workbench
有没有办法将表和数据从一个模式导出到另一个模式?管理导入/导出选项要求我选择要连接的服务器,它显示为空白。我目前连接到我学校租用的服务器,专门用于这个课程,所以我没有任何管理员权限。
【问题讨论】:
标签: mysql export schema mysql-workbench
您可以通过 MySQL Workbench 中的数据导出创建转储,并在导出后立即将其导入新架构。 MySQL Workbench 允许覆盖转储中的目标模式。
【讨论】:
在 6.0 及更高版本中,转储看起来像是在您命名为转储的目录中写出单个表。所有架构和表名都默认为您从中导出的架构(如您所指出的)。为了便于导入新架构,只需在转储目录中运行以下命令:
find . -type f -exec sed -i 's/your_export_schema/your_different_schema_name/g' {} \;
但请注意,如果您的导出数据中包含旧架构名称,您会感到很自卑。
【讨论】:
我注意到问题是关于 Workbunch,但请注意 phpMyAdmin 在数据库操作中直接具有此功能。
【讨论】:
如果您在将数据导入新架构时遇到问题,例如无法在其中获取任何数据,则可能需要一种解决方法。我将模式从 MySQL 工作台导出到 .sql 文件,以便稍后将其导入不同的模式,问题是导出的 .sql 文件维护了以前的模式。
所以如果你在 .sql 导出文件的开头找到这个:
CREATE DATABASE IF NOT EXISTS `old_schema` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `old_schema`;
用这个替换它:
CREATE DATABASE IF NOT EXISTS `new_schema` /*!40100 DEFAULT CHARACTER SET latin1 */;
USE `new_schema`;
这样就可以了。在某些情况下,您的 .sql 文件可能有几百 MB,因此您必须稍等片刻,直到它在您的编辑器中打开。这段代码应该在文件的开头,所以很容易找到。
希望对你有帮助!
【讨论】: